草庐IT

c# - 在哪里以及为什么使用 int a=new int?

只是好奇,有什么区别:intA=100;和intA=newint();我知道new用于在堆上分配内存..但我真的不明白这里的上下文。 最佳答案 staticvoidMain(){intA=newint();intB=default(int);intC=100;Console.Read();}编译为.methodprivatehidebysigstaticvoidMain()cilmanaged{.entrypoint//Codesize15(0xf).maxstack1.localsinit([0]int32A,[1]int32B,

c# - 如果超时没有完成任务,Task.Wait(int) 是否会停止任务?

我有一个任务,我希望它能在一秒钟内运行,但如果它花费的时间超过几秒钟,我想取消该任务。例如:Taskt=newTask(()=>{while(true){Thread.Sleep(500);}});t.Start();t.Wait(3000);请注意,等待3000毫秒后到期。超时过后任务是否被取消或任务是否仍在运行? 最佳答案 Task.Wait()等待任务完成到指定时间段,并返回任务是否在指定时间(或更早)内完成。任务本身不被修改,也不依赖于等待。阅读精彩系列:Parallelismin.NET,Parallelismin.NET

c# - 创建值为 0,1,2,3... 长度的 c# int[]

我想创建一个长度为X的int[]并用[0,1,2....X]赋值例如publicint[]CreateAA(intX){}int[]AA=CreateAA(9)=>[0,1,2,3,4,5,6,7,8,9]有什么简单的方法吗?或者必须循环并初始化值 最佳答案 您可以利用IEnumerable的功能。int[]arr=Enumerable.Range(0,X+1).ToArray();这将为您创建一个IEnumerable列表,.ToArray()将满足您对int数组的需求。因此对于您的情况下的X=9它将生成[0,1,2,3,4,5,

c# - Int32.TryParse() 失败时返回零 - 成功还是失败?

我从msdn上读到关于Int32.TryParse()Whenthismethodreturns,containsthe32-bitsignedintegervalueequivalenttothenumbercontainedins,iftheconversionsucceeded,orzeroiftheconversionfailed.但是,如果传递的字符串本身是“0”的字符串表示形式,会发生什么情况。所以TryParse将返回零。我怎么知道它是成功还是失败? 最佳答案 不,TryParse返回true或false以指示成功。o

c# - Boolean int 转换问题

我正在开发一个交易API(来自交互式经纪人的activex),它有一个名为:voidreqMktDataEx(inttickerId,IContractcontract,stringgeneralDetails,intsnapshot)问题在于最后一个参数“intsnapshot”,它显然需要一个int输入,它实际上表明交易者是否想要快照市场数据。所以我想如果我将它设置为非零值,那么隐式转换会将这个非零值转换为bool值“true”。但是,我正在使用c#连接到此api。一切都很好,直到这一次。我试过这个:一个。voidreqMktDataEx(1,AUDUSD,"100",0)请忽略前

c# - 找到 INT 数组的第 N 个最大数的最快方法是什么?

我想要一个更快的函数来查找C#中Int数组的第N个最大数。此函数接受N和数组并返回该数字的索引。这是我已经拥有的。它只是对数组进行排序,然后返回该数字的索引。它完美地工作但我不确定这是否是最快的方法。没有完全排序的算法似乎是合乎逻辑的。staticintmyFunction(int[]array,intN){int[]indexes=newint[array.Length];for(inti=0;i一些结果:myFunction(newint[]{1,3,2,0,10},0);//returns4(indexof10)myFunction(newint[]{1,3,2,0,10},1)

c# - 在C#中将char隐式转换为int

我对隐式类型转换有疑问为什么这种隐式类型转换在C#中起作用?我了解到隐式代码通常不起作用。我这里有一个关于隐式类型转换的代码示例charc='a';intx=c;intn=5;intanswer=n*c;Console.WriteLine(answer); 最佳答案 转换会导致数据丢失。这里char是16位,而int是32位。因此,转换将在不丢失数据的情况下发生。现实生活中的例子:我们可以在没有外部帮助的情况下将小型容器放入大型容器中,反之亦然。 关于c#-在C#中将char隐式转换为i

c# - 为什么 C# 中的 "int[] is uint[] == true"

有人可以澄清一下C#is关键字吗?特别是这两个问题:Q1)第5行;为什么这会返回true?Q2)第7行;为什么没有转换异常?publicvoidTest(){objectintArray=newint[]{-100,-200};if(intArrayisuint[])//whydoesthisreturntrue?{uint[]uintArray=(uint[])intArray;//whynoclasscastexception?for(intx=0;xMSDN的描述并没有说明情况。它声明如果满足这些条件中的任何一个,is将返回true。(http://msdn.microsoft.

c# - 为什么 int.MaxValue - int.MinValue = -1?

据我了解,这应该会给你一个溢出错误,当我这样写时:publicstaticvoidMain(){Console.WriteLine(int.MaxValue-int.MinValue);}它确实给我一个溢出错误。但是:publicstaticvoidMain(){Console.WriteLine(test());}publicstaticInt32test(intminimum=int.MinValue,intmaximum=int.MaxValue){returnmaximum-minimum;}将输出-1为什么要这样做?它应该抛出错误,因为它显然是溢出!

C# 无法将 bool 转换为 int

我们都知道在C#中我们不能将bool转换为int。我想看看true与位掩码的二进制表示是什么,但我不能使用(bool&int)..我认为问题是架构desicion“true是true,不是任何数字!=0”(C++)我想知道这种架构的好处是什么?C真/假概念有什么不好? 最佳答案 当整数不能用于true或false时,程序员会更清楚。if(5>0)比if(5)更容易理解这与他们不允许在switch语句中通过条件失败的原因相同。太容易出错了。 关于C#无法将bool转换为int,我们在Sta