想象一下,我们有5个字符串变量,我们想在运行时为它们分配“Foo”。 而不是这个 string a1 = “Foo”; string a2 = “Foo”; string a3 = “Foo”; string a4 = “Foo”; string a5 = “Foo”; 我们不能使用这样的东西: for(int i = 0;i < 5;i++) { a+i = "Foo"; } 是否无法以类似的方式访问它们?
有没有办法在C#中使用hex文字将int设置为负值? 我查看了Integer文字的规范,但没有提到任何内容。 例如: int a = -1; // Allowed int b = 0xFFFFFFFF; // Not allowed? hex表示法对我的应用程序来说更清楚,我宁愿不使用uint因为我需要做一些额外的转换。
早上好, 我正在寻找一种方法来组合两个整数来创建一个唯一的数字,我有两个表,我需要组合成一个具有唯一数字的第三个表, 这些是我的表: Table A SchoolID ClassId 107 56644231 107 56644532 107 320110212 Table B SchoolID ClassId 108 566442310 108 56644532 108 50110212 我需要将这些字段导出到第三个表,该表将类ID和学校ID组合到一个名为classID的字段中。 我需要能够将这些数字组合在一起,然后才能将它们组合在一起,以便将schoolid和classid分开以进行更新。 我想连接字符串’schoolid + ’00’ + ‘classid’因为我知道schoolid将始终是一个3位数字,但我正在寻找其他方式或许数学,我不必使用字符串强制转换。 有数学方法可以做到这一点吗? 或者是为了做到这一点,最好的方法是使用字符串? 我正在使用C#来编写解决方案。 谢谢,
我试图在C#中将4字节数组转换为ulong。 我目前正在使用此代码: atomSize = BitConverter.ToUInt32(buffer, 0); 字节[4]包含: 0 0 0 32 但是,字节是Big-Endian。 有没有一种简单的方法可以将这个Big-Endian ulong转换为Little-Endian ulong?
我只想知道,String变量是否包含可解析的正整数值。 我现在不想解析这个值。 目前我在做: int parsedId; if ( (String.IsNullOrEmpty(myStringVariable) || (!uint.TryParse(myStringVariable, out parsedId)) ) {//..show error message} 这很难看 – 如何更简洁? 注意:我知道扩展方法,但我想知道是否有内置的东西。
也许对此有一个非常逻辑的解释,但我似乎无法理解为什么种子0和2,147,483,647使用.NET的随机类(系统)产生相同的“随机”序列。 快速代码示例: var random1 = new Random(0); var random2 = new Random(1); var random3 = new Random(int.MaxValue); //2,147,483,647 var buffer1 = new byte[8]; var buffer2 = new byte[8]; var buffer3 = new byte[8]; random1.NextBytes(buffer1); random2.NextBytes(buffer2); random3.NextBytes(buffer3); for (int i = 0; i < 8; i++) { Console.WriteLine("{0}\t\t{1}\t\t{2}", buffer1[i], buffer2[i], buffer3[i]); } 输出: 26 70 26 […]
我有一些代码可以对64位整数进行大量的比较,但是它必须考虑数字的长度,就像它被格式化为字符串一样。 我无法更改调用代码,只能更改函数。 最简单的方法(除了.ToString()。Length)是: (int)Math.Truncate(Math.Log10(x)) + 1; 然而,这表现得相当糟糕。 由于我的应用程序只发送正值,并且长度相当均匀地分布在2到9之间(偏向9),我预先计算了值并使用if语句: static int getLen(long x) { if (x < 1000000) { if (x < 100) return 2; if (x < 1000) return 3; if (x < 10000) return 4; if (x < 100000) return 5; return 6; } else { if (x < 10000000) return 7; if (x […]
如何删除字符串并仅获取整数? 我有一个字符串(01 – ABCDEFG) 我只需要获得(01)
我得到一个hex字符串,需要转换为带符号的8位整数。 目前我正在使用Int16 / Int32进行转换,这显然不会给出8位整数的负值。 如果我在hex中得到值255,我如何将其转换为-1十进制? 我假设我想使用sbyte,但我不确定如何正确地获得该值。
我对C#很新,这个问题可能听起来很愚蠢。 我想知道我将如何从textBox1获取整数(用户的输入)并在if else语句中使用它? 请举几个例子