草庐IT

int_parser

全部标签

c# - 通过反射调用 this[int index]

我尝试为MicrosoftOffice实现一个基于反射的后期绑定(bind)库。OfficeCOM对象的属性和方法调用方式如下:Typetype=Type.GetTypeFromProgID("Word.Application");objectcomObject=Activator.CreateInstance(type);type.InvokeMember(,,null,comObject,newobject[]{});InvokeMember是唯一可能的方法,因为Type.GetMethod/GetProperty无法正确处理COM对象。可以使用InvokeMember调用方法和属

c# - C# 中的 `x is int?` 和 `x is int` 有区别吗?

classCwhereT:struct{boolM1(objecto)=>oisT;boolM2(objecto)=>oisT?;}上面的两种方法在传递null时似乎表现相同引用或盒装T值(value)。但是,生成的MSIL代码有点不同:.methodprivatehidebysiginstanceboolM1(objecto)cilmanaged{.maxstack8IL_0000:ldarg.1IL_0001:isinst!TIL_0006:ldnullIL_0007:cgt.unIL_0009:ret}对比.methodprivatehidebysiginstanceboolM2

c# - 如何在 Entity Framework 中用 Enum 替换 Int 属性?

我有一个实体类,它的属性具有Int数据类型的基础db列,但实际上我希望这个属性是一个枚举。有什么方法可以指定此属性返回一个枚举吗? 最佳答案 间接地,如so.就个人而言,我将存储int保留为公共(public)(例如作为DbFoo,其中枚举属性为Foo)——这样我仍然可以针对列编写lambda表达式在数据库执行,例如:whererow.DbFoo==SomeConstant如果不公开存储值,就不能干净利落地做到这一点。您同样可以将其保留在内部,并在上下文中使用一些方法来进行过滤……这是我今天早些时候写的一个:publicIOrder

c# - 如果使用可为空的 int 变量,LINQ 返回 0 个结果,如果使用 "null",则返回准确的结果

我有一个名为“test”的表,它只有1列,“NullableInt”(可为空的int类型)记录为:1、2、nullint?nullableInt=null;vart=db.tests.Where(x=>x.NullableInt==null).ToList();//returns1recordvart2=db.tests.Where(x=>x.NullableInt==nullableInt).ToList();//returns0records出于某种原因,t2返回0条记录,即使它使用了值为null的“nullableInt”变量,就像t与“null”进行比较一样如有任何帮助,我们将

c# - 可以使用 int 作为 KeyedCollection 中的键吗

我经常需要一组带有数字标识符的非顺序对象。我喜欢为此使用KeyedCollection,但我认为有一个严重的缺点。如果您使用int作为键,您将无法再通过索引访问集合的成员(collection[index]现在实际上是collection[key])。这是一个足以避免使用int作为键的严重问题吗?更好的选择是什么?(也许是int.ToString()?)我以前做过这个没有任何大问题,但最近我遇到了一个讨厌的障碍,如果key是一个int,针对KeyedCollection的XML序列化不工作,由于abugin.NET. 最佳答案 基本

c# - 如何使用反射将 int 转换为 decimal?

我有一些代码(工作正常)看起来像这样:intinteger=42;decimal?castTo=integer;然后我想用反射做一些类似的事情,一些代码看起来像这样:objectvalue=source;//sourcewasanintoriginallyvarparameters=newobject[1];...parameters[0]=value;varsetMethod=property.GetSetMethod();//Callthesetmethod,whichtakesadecimal?asaparametersetMethod.Invoke(o,parameters);

c# - 无法将 List<int[*]> 转换为用反射实例化的 List<int[]>

我正在实例化一个List单维Int32通过反射数组。当我使用以下方法实例化列表时:TypetypeInt=typeof(System.Int32);TypetypeIntArray=typeInt.MakeArrayType(1);TypetypeListGeneric=typeof(System.Collections.Generic.List);TypetypeList=typeListGeneric.MakeGenericType(newType[]{typeIntArray,});objectinstance=typeList.GetConstructor(Type.Empty

c# - C# 是 int 吗?当 hasvalue = true 时,bool 总是被装箱吗?

ThisMSDNreference似乎表明当int?(或任何Nullable)有一个值,它总是装箱(因此数据存储效率低得多,内存方面比int)。是这样吗? 最佳答案 该页面指的是当您装箱Nullable时结构,而不是结构本身内部的值。在您尝试对可空类型本身进行装箱之前,存储可空类型不涉及装箱:int?a=42;//noboxingint?n=null;//noboxingobjectnObj=n;//noboxingobjectaObj=a;//onlynowwillboxingoccur此行为与装箱常规值类型(处理null情况除外

c# - Azure 通知中心。 GetRegistrationsByTagAsync(string tag, int top) 的第二个参数代表什么?

documentation在Azure推送通知中说明NotificationHubClient.GetRegistrationsByTagAsync(stringtag,inttop),如下所示,top(Int32):Thelocationwheretogettheregistrations.但我不知道top或location代表什么。Anexample我发现只使用100但没有理由使用它。 最佳答案 基本上这意味着最多获得top记录。因此,如果您有1000个带有标签“A”的注册,则NotificationHubClient.GetR

c# - IEnumerable<int> 还需要非通用 IEnumerator 吗?

3个问题:1)为什么输出取自NON泛型函数?2)为什么我必须同时实现非泛型函数?3)如果我想查看通用函数输出(int的),我需要做什么? 最佳答案 foreach关键字不需要集合来实现IEnumerable根本;相反,它会调用任何已定义的GetEnumerator方法。IEnumerable工具IEnumerable出于兼容性原因。你应该实现IEnumerable.GetEnumerator()显式地让普通方法返回IEnumerator.如果类(class)有正常的GetEnumerator()方法(与显式接口(interface)