草庐IT

int_array

全部标签

c# - 为什么我需要检查是否大于 Int32.MaxValue?

我在c#类库项目(.net4)上使用VisualStudio2010SP1Ultimate,我对某些事情感到好奇...给定这个方法:publicvoidDoSomethingBrilliant(intinput){if(input==int.MaxValue)thrownewArgumentOutOfRangeException("input");input++;Console.WriteLine(input);}我从代码分析中得到这个警告:CA2233:Microsoft.Usage:Correctthepotentialoverflowintheoperation'input+1'

c# - CA1819 : Properties shouldn't return arrays - What is the right alternative?

我以前遇到过这个FxCop规则,但对如何解决违规问题并不满意(thread1、thread2)。我现在有另一个案例,我需要纠正违反CA1819的行为亲切。具体来说,我有一个算法库,它使用如下所示的公共(public)“输入对象”对曲线(x,y)执行一些分析计算:publicclassInputObject{publicdouble[]X{get;set;}publicdouble[]Y{get;set;}//+lotsofotherthingswell}此对象的X和Y属性在库中的数百个位置使用,通常使用索引。输入对象永远不会被算法改变,但实际上如果是这样也无关紧要。另外,.Length

c# - 运算符 '==' 不能应用于类型 'int' 和 'string' 的操作数

我在这里有一点误解为什么我在这里有一个错误我需要解析它这段代码有什么问题吗?UberTrackerEntitiesctx=UberFactory.Context;IEnumerableusers=HtUser.GetAll();stringselectedBU=rcbBusinessUnits.SelectedValue;stringselectedDepartment=rcbDepartment.SelectedValue;HtDepartmentdepartment=ctx.HtDepartments.SingleOrDefault(d=>d.DepartmentId==selec

c# - (int)myDouble 是否与 (int)Math.Truncate(myDouble) 不同?

(int)myDouble是否与(int)Math.Truncate(myDouble)不同?有什么理由让我更喜欢其中之一吗? 最佳答案 Math.Truncate适用于需要将结果保持为double且没有小数部分的情况。如果你想把它转换成一个int,直接使用cast就可以了。编辑:供引用,这里是“ExplicitNumericConversionsTable”的相关文档。”:Whenyouconvertfromadoubleorfloatvaluetoanintegraltype,thevalueistruncated.

c# - 在 C# 中,Int64 和 long 有什么区别?

这个问题在这里已经有了答案:WhatisthedifferencebetweenStringandstringinC#?(65个答案)Whatis'long?'datatype?(6个答案)关闭6年前。在C#中,Int64和long有什么区别?例子:longx=123;Int64x=123;

c# - 从 int 转换为 float 的问题

有一个我无法理解的奇怪行为。同意float是近似值,因此即使显然返回没有小数的数字的操作也可以近似为带小数的数字。我这样做:intnum=(int)(195.95F*100);因为这是一个浮点运算,所以我得到19594而不是19595..但这是正确的。让我困惑的是,如果我这样做floatflo=195.95F*100;intnum=(int)flo;我得到了19595的正确结果。知道为什么会这样吗? 最佳答案 我想看看这是不是编译器在做数学运算,但即使你强制它,它的行为也是这样的:staticvoidMain(){inti=(int

c# - Array 类和 Enum.GetValues() 的简单形式

我正在使用静态方法Enum.GetValues(typeof(SomeEnum));当您需要做的只是枚举值时,此方法非常有用,但出于某种原因,它返回一个非常简单的Array类形式。我正在尝试找到一种简单的方法将其返回值转换为更“正常”的集合类,例如常规数组或List。到目前为止,如果我想这样做,我必须枚举Enum.GetValues(typeof(SomeEnum));的输出。并将它们一一添加到列表。有什么想法可以更干净地做到这一点吗?答案:关键是对返回结果进行强制转换--SomeEnum[]enums=(SomeEnum[])Enum.GetValues(typeof(SomeEnu

c# - 将 system.array 对象转换为 int[] 字符串或其他类型的对象

我正在学习C#并试图理解它的“面向类型”方面。所以前几天我需要从一个方法中接收一个System.Array对象。然后我尝试使用它的单个对象,所以我尝试用索引来解决它。编译器不让,说System.Array对象不支持索引。但是Array不是所有数组的基类吗(System.Arrayonmsdn)?为什么int[]支持索引而Array[]不支持?下面是一些代码来演示这个问题:int[]intArray={1,2,3,4,5,6,7,8,9,10};intt;ArraysysArray;Console.WriteLine("{0}",intArray.GetType().ToString()

c# - 如何在 int 列表中找到满足某些条件的项目的索引?

我有一个包含项目{10、11、23、34、56、43}的int列表,我想找出所有大于23的项目的索引。这些值可以是任何顺序,所以我这样做不想对它们进行排序。Listmylist=newList{10,11,23,34,56,43};我对满足条件的所有项目的索引感兴趣,而不仅仅是满足条件的第一个项目。所以这行代码对我不起作用。intindex=mylist.FindIndex(x=>x>23); 最佳答案 varindexes=mylist.Select((v,i)=>new{v,i}).Where(x=>x.v>23).Select

C# 反射 : how to get an array values & length?

FieldInfo[]fields=typeof(MyDictionary).GetFields();MyDictionary是一个静态类,所有字段都是字符串数组。如何获取每个数组的长度值,然后遍历所有元素?我尝试了这样的类型转换:fieldasArray但它会导致错误Cannotconverttype'System.Reflection.FieldInfo'to'System.Array'viaareferenceconversion,boxingconversion,unboxingconversion,wrappingconversion,ornulltypeconversion