草庐IT

int_void

全部标签

c# - 为什么 Math.Round/Floor/Ceiling 不返回 long 或 int?

每次我使用Math.Round/Floor/Ceiling时我总是转换为int(或者可能是long如有必要)。如果它总是返回一个整数,为什么他们返回double。 最佳答案 结果可能不适合int(或long)。double的范围要大得多。double的近似范围:±5.0×10−324到±1.7×10308(Source) 关于c#-为什么Math.Round/Floor/Ceiling不返回long或int?,我们在StackOverflow上找到一个类似的问题:

c# - 关于将类型 'int' 隐式转换为 'char' ,为什么 `s[i] += s[j]` 和 `s[i] = s[i]+s[j] ` 不同

演示示例代码:publicvoidReverseString(char[]s){for(inti=0,j=s.Length-1;i如上代码片段,whiles[i]+=s[j]没有任何错误。其等价语句s[i]=s[i]+s[j]会报错如下errorCS0266:Cannotimplicitlyconverttype'int'to'char'.Anexplicitconversionexists(areyoumissingacast?我的问题是它们有什么区别以及为什么。提前致谢。 最佳答案 Itsequivalentstatements

c# - 关于将类型 'int' 隐式转换为 'char' ,为什么 `s[i] += s[j]` 和 `s[i] = s[i]+s[j] ` 不同

演示示例代码:publicvoidReverseString(char[]s){for(inti=0,j=s.Length-1;i如上代码片段,whiles[i]+=s[j]没有任何错误。其等价语句s[i]=s[i]+s[j]会报错如下errorCS0266:Cannotimplicitlyconverttype'int'to'char'.Anexplicitconversionexists(areyoumissingacast?我的问题是它们有什么区别以及为什么。提前致谢。 最佳答案 Itsequivalentstatements

c# - 为什么我必须在默认为 0 时为 C# 中的 int 赋值?

这个有效:classMyClass{inta;publicMyClass(){intb=a;}}但这会导致编译器错误(“使用未分配的局部变量‘a’”):classMyClass{publicMyClass(){inta;intb=a;}}据我所知,这是因为在第一个示例中,从技术上讲,编译器不知道“a”没有被赋值。在后一个示例中,“a”是在本地定义的,因此很容易跟踪。但为什么后面的例子不行呢?整数不是默认为0吗?这是编译器为“最佳实践”强制执行的内容吗?还是另有原因? 最佳答案 在第一个示例中,它是一个字段。字段自动默认为0/fals

c# - 为什么我必须在默认为 0 时为 C# 中的 int 赋值?

这个有效:classMyClass{inta;publicMyClass(){intb=a;}}但这会导致编译器错误(“使用未分配的局部变量‘a’”):classMyClass{publicMyClass(){inta;intb=a;}}据我所知,这是因为在第一个示例中,从技术上讲,编译器不知道“a”没有被赋值。在后一个示例中,“a”是在本地定义的,因此很容易跟踪。但为什么后面的例子不行呢?整数不是默认为0吗?这是编译器为“最佳实践”强制执行的内容吗?还是另有原因? 最佳答案 在第一个示例中,它是一个字段。字段自动默认为0/fals

char类型与int类型的转换

  在c语言中,char类型与int类型可以转换,如何转换我在此做一个粗略的总结首先是char转换为int#includeintmain(){ chara; a=110; intc=a; printf("%c\n",a); printf("%d\n",a); printf("%d",c); return0;}结果为:n110110即将ASC码强制转换为int但当输入的数字大于127(ASC码的最大值)时,-128和127就像转盘一样连在一起,如果上述代码中a=128,则输出  一个意义不明的符号(因为-128在ASC码中没意义)-128-128如果a=256,则输出:空字符00;即像轮盘一样转

c# - Settings.settings 中是否允许可空的 int 类型?

我有一个属性,我想在我的Settings.settings文件中键入int?。当我使用int?时出现运行时错误:System.NullReferenceException:对象引用未设置到对象的实例..我可以使用字符串类型作为变通方法,在这种情况下可以检查空值,但我必须解析字符串并在解析不起作用时处理错误。能够将值设置为null允许我将属性记录在设置文件中,同时明确表示没有设置任何值。未设置时,我使用编程的默认值:int?configuredNumberOfLimits=Settings.Default.RequiredNumberOfLimits;if(configuredNumbe

c# - Settings.settings 中是否允许可空的 int 类型?

我有一个属性,我想在我的Settings.settings文件中键入int?。当我使用int?时出现运行时错误:System.NullReferenceException:对象引用未设置到对象的实例..我可以使用字符串类型作为变通方法,在这种情况下可以检查空值,但我必须解析字符串并在解析不起作用时处理错误。能够将值设置为null允许我将属性记录在设置文件中,同时明确表示没有设置任何值。未设置时,我使用编程的默认值:int?configuredNumberOfLimits=Settings.Default.RequiredNumberOfLimits;if(configuredNumbe

c# 将 Remove(int index) 方法添加到 .NET Queue 类

我想使用.NET框架(3.5)中描述的通用队列类但我需要一个Remove(intindex)方法来从队列中删除项目。我可以使用扩展方法实现此功能吗?有人愿意为我指出正确的方向吗? 最佳答案 你想要的是一个List你总是调用RemoveAt(0)当你想从Queue中获取项目时.其他一切都是一样的,真​​的(调用Add会在Queue的末尾添加一个项目)。 关于c#将Remove(intindex)方法添加到.NETQueue类,我们在StackOverflow上找到一个类似的问题:

c# 将 Remove(int index) 方法添加到 .NET Queue 类

我想使用.NET框架(3.5)中描述的通用队列类但我需要一个Remove(intindex)方法来从队列中删除项目。我可以使用扩展方法实现此功能吗?有人愿意为我指出正确的方向吗? 最佳答案 你想要的是一个List你总是调用RemoveAt(0)当你想从Queue中获取项目时.其他一切都是一样的,真​​的(调用Add会在Queue的末尾添加一个项目)。 关于c#将Remove(intindex)方法添加到.NETQueue类,我们在StackOverflow上找到一个类似的问题: