草庐IT

int_void

全部标签

c# - 将类型限制为 Int、Double、long 的泛型

这个问题在这里已经有了答案:Isthereaconstraintthatrestrictsmygenericmethodtonumerictypes?(24个答案)关闭9年前。是否可以约束一个方法,使其只接收int、double、long或其他具有常用数值的数值类型操作(例如+、-、*、/)定义了吗?

c# - 无法将类型 'int?' 隐式转换为 'int' 。

我收到错误消息“无法隐式转换类型‘int?’到'int'。在返回行的我的OrdersPerHour上存在显式转换(你是否缺少强制转换?)”。我不确定为什么,因为我的C#技能不是那么先进。任何帮助将不胜感激。staticintOrdersPerHour(stringUser){int?OrdersPerHour;OleDbConnectionconn=newOleDbConnection(strAccessConn);DateTimecurTime=DateTime.Now;try{stringquery="SELECTCOUNT(ControlNumber)FROMLogWHEREDa

c# - 无法将类型 'int?' 隐式转换为 'int' 。

我收到错误消息“无法隐式转换类型‘int?’到'int'。在返回行的我的OrdersPerHour上存在显式转换(你是否缺少强制转换?)”。我不确定为什么,因为我的C#技能不是那么先进。任何帮助将不胜感激。staticintOrdersPerHour(stringUser){int?OrdersPerHour;OleDbConnectionconn=newOleDbConnection(strAccessConn);DateTimecurTime=DateTime.Now;try{stringquery="SELECTCOUNT(ControlNumber)FROMLogWHEREDa

c# - 如何在 wpf ViewModel 中实现 observable int?

在我的mvvmViewModel中有这样的字段publicintDelta{get;privateset;}但是当我这样更新它时:Delta=newValue;UI未刷新。我在想数据绑定(bind)会为我做这件事。例如,我可以将集合声明为ObservableCollection,然后数据绑定(bind)将起作用。但是没有ObservableInt,怎么说View需要刷新呢?也许我应该提出一些事件“通知属性已更改”之类的? 最佳答案 你有两个选择:实现INotifyPropertyChanged类上的界面。继承自DependencyO

c# - 如何在 wpf ViewModel 中实现 observable int?

在我的mvvmViewModel中有这样的字段publicintDelta{get;privateset;}但是当我这样更新它时:Delta=newValue;UI未刷新。我在想数据绑定(bind)会为我做这件事。例如,我可以将集合声明为ObservableCollection,然后数据绑定(bind)将起作用。但是没有ObservableInt,怎么说View需要刷新呢?也许我应该提出一些事件“通知属性已更改”之类的? 最佳答案 你有两个选择:实现INotifyPropertyChanged类上的界面。继承自DependencyO

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 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