草庐IT

int_parser

全部标签

c# - int ref 参数是否被装箱?

假设我有以下代码:voidMain(){inta=5;f1(refa);}publicvoidf1(refinta){if(a>7)return;a++;f1(refa);Console.WriteLine(a);}输出是:888即当堆栈展开时,ref参数的值将保持不变。这是否意味着将ref关键字添加到int参数会导致它被装箱?在递归调用期间实际堆栈看起来如何? 最佳答案 通过引用传递值类型会导致传递其在堆栈上的位置,而不是值本身。它与装箱和拆箱无关。这使得思考堆栈在递归调用期间的外观变得相当容易,因为每个调用都指向堆栈上的“相同”

c# - 将 int 转换为 short 会产生意想不到的结果

我对C#中数字类型的丢失信息有点困惑。当我这样做时:intx=32780;shorty=(short)x;我的结果是:y为-32756而不是预期的32767。为什么?这是如何计算的?短的范围:-32768到32767int范围:-2,147,483,648到2,147,483,647 最佳答案 您似乎期待的是“向下舍入”效果,而不是实际发生的情况,这是对数据的按位重新解释。在二进制中,x等于00000000000000001000000000001100,这是一个只有16位有效位的32位数字。short是一个16位signed整数,

c# - 将 int 转换为 short 会产生意想不到的结果

我对C#中数字类型的丢失信息有点困惑。当我这样做时:intx=32780;shorty=(short)x;我的结果是:y为-32756而不是预期的32767。为什么?这是如何计算的?短的范围:-32768到32767int范围:-2,147,483,648到2,147,483,647 最佳答案 您似乎期待的是“向下舍入”效果,而不是实际发生的情况,这是对数据的按位重新解释。在二进制中,x等于00000000000000001000000000001100,这是一个只有16位有效位的32位数字。short是一个16位signed整数,

c# - 如果一个结构不能继承另一个类或结构,为什么 Int32 有 ToString() 方法?

这个问题在这里已经有了答案:HowdoValueTypesderivefromObject(ReferenceType)andstillbeValueTypes?(6个答案)关闭9年前。inta=2;Console.WriteLine(a.ToString());//displays2//definitionofToString()here-publicoverridestringToString();现在,这是我的一些理解:.net中的所有类都有一个ToString()方法,该方法继承自Object类。结构不能派生自类或其他结构。int是一个Int32类型的结构,它从它实现的接口(i

c# - 如果一个结构不能继承另一个类或结构,为什么 Int32 有 ToString() 方法?

这个问题在这里已经有了答案:HowdoValueTypesderivefromObject(ReferenceType)andstillbeValueTypes?(6个答案)关闭9年前。inta=2;Console.WriteLine(a.ToString());//displays2//definitionofToString()here-publicoverridestringToString();现在,这是我的一些理解:.net中的所有类都有一个ToString()方法,该方法继承自Object类。结构不能派生自类或其他结构。int是一个Int32类型的结构,它从它实现的接口(i

c# - 计算 List<T> 中 int < 5 的元素

我有一个List并且需要计算它有多少个具有(值 最佳答案 Count()有一个重载接受Predicate:intcount=list.Count(x=>x参见MSDN 关于c#-计算List中int https://stackoverflow.com/questions/8279731/

c# - 计算 List<T> 中 int < 5 的元素

我有一个List并且需要计算它有多少个具有(值 最佳答案 Count()有一个重载接受Predicate:intcount=list.Count(x=>x参见MSDN 关于c#-计算List中int https://stackoverflow.com/questions/8279731/

c# - 属性构造函数或属性中的可为空的 int

所以我有一个自定义属性,我们称它为MyCustomAttribute,它有一个构造函数,如下所示:publicMyCustomAttribute(int?i){//Codegoeshere}并声明一个属性:publicint?DefaultProperty{get;set;}现在,如果我想使用该属性,我需要传入一个int或null,这正是我所期望的。但这会导致编译错误:[MyCustomAttribute(1,DefaultProperty=1)]publicint?MyProperty{get;set;}还有这个:[MyCustomAttribute(null,DefaultProp

c# - 属性构造函数或属性中的可为空的 int

所以我有一个自定义属性,我们称它为MyCustomAttribute,它有一个构造函数,如下所示:publicMyCustomAttribute(int?i){//Codegoeshere}并声明一个属性:publicint?DefaultProperty{get;set;}现在,如果我想使用该属性,我需要传入一个int或null,这正是我所期望的。但这会导致编译错误:[MyCustomAttribute(1,DefaultProperty=1)]publicint?MyProperty{get;set;}还有这个:[MyCustomAttribute(null,DefaultProp

c# - 如何将 int 转换为 uint

我有int变量,值为820924当我试图这样转换它时:(uint)data[结构["MICROSECONDS"].Index]它不起作用。这也行不通unchecked((uint)data[structure["MICROSECONDS"].Index])我收到Specifiedcastisnotvalid.异常。数据存储对象,但在运行时我应该尝试转换为int。我几乎可以肯定。我打印的对象值是820924,但是我不知道如何打印对象类型,但它必须是int。代码:objectvalue=data[structure["MICROSECONDS"].Index];Console.WriteL