Tag: int

C#boolean int转换问题

我正在开发一个交易API(来自交互式经纪人的activex),它有一个叫做的方法: void reqMktDataEx(int tickerId, IContract contract, string generalDetails, int snapshot) 问题在于最后一个参数“int snapshot”,它显然需要一个int输入,它实际上表明交易者是否想要快照市场数据。 所以我想如果我把它设置为非零,那么隐式转换会将这个非零值转换为bool值“true”。 但是,我使用c#连接到这个api。 在此之前一切都很好。 我试过这个: A. void reqMktDataEx(1, AUDUSD, “100”, 0)请忽略前三个参数“1,AUDUSD,”100“”,唯一的问题是最后一个0为int。 我在调试过程中暂停了,信息是:“指定的强制转换无效.Invalidcastexception未处理”和“从数字转换时,数字不能为无穷大”。 在此之后,我了解到c#将1作为bool true处理为0,而将bool作为bool处理错误,根据此Web http://www.dotnetperls.com/convert-bool-int B.我尝试了这个void reqMktDataEx(1, AUDUSD, “100”, Convert.ToInt16(false))我又遇到了类似的错误。 C.我再试一次这个: void reqMktDataEx(1, AUDUSD, “100”, int.Parse(“false”)) 投诉是输入字符串格式不正确。 确保方法参数的格式正确。 MY GUESS:这是C#的内部配置,它不将0视为false,将1视为true。 有什么办法可以解决吗? 首先编辑 正如下面一位专业程序员所怀疑的那样,我在这里为他发布合同类和audusd定义。 提前致谢 namespace InteractiveBrokersTradingSystem { class Contract:TWSLib.IContract { public int conId { […]

如何获得Int数组中最常见的值? (C#)

如何使用C#获取Int数组中最常见的值 例如:Array具有以下值:1,1,1,2 Ans应为1

如何在asp.net mvc 2中进行整数模型validation

我有一张注册表,用户必须输入他们房子的面积。 我希望这个值只是一个整数。 有没有办法使用属性asp.net mvcvalidation此值?

为什么我必须在默认为0时为C#中的int赋值?

这有效: class MyClass { int a; public MyClass() { int b = a; } } 但这会产生编译器错误(“使用未分配的局部变量’a’”): class MyClass { public MyClass() { int a; int b = a; } } 据我所知,这是因为在第一个例子中,从技术上讲,编译器不知道没有分配’a’。 在后一个例子中,’a’是在本地定义的,因此很容易跟踪。 但为什么后一个例子不起作用? 不要将整数默认为0吗? 这是编译器对“最佳实践”强制执行的操作。 还是有另一个原因吗?

在C#中将String转换为int

我正在尝试编写一个简单的程序,要求用户输入一个数字,然后我将使用该数字来确定票证的成本对于他们给定的年龄。 我在尝试将字符串转换为int时遇到了麻烦。 否则程序布局很好。 有什么建议? 谢谢 using System; class ticketPrice { public static void Main(String[] args) { Console.WriteLine(“Please Enter Your Age”); int input = Console.ReadLine(); if (input 4 & input 17 & input 55) { Console.WriteLine(“You are “+input+” and the admission is $8″); } } }

数组的大小是否受int的上限(2147483647)约束?

我正在做一些Project Euler练习,我遇到了一个场景,我想要的数组大于2,147,483,647(C#中int的上限)。 当然这些是大型arrays,但是,例如,我不能这样做 // fails bool[] BigArray = new BigArray[2147483648]; // also fails, cannot convert uint to int ArrayList BigArrayList = new ArrayList(2147483648); 那么,我可以拥有更大的arrays吗? 编辑:这是阿特金的筛子 ,你知道,所以我只想要一个非常大的:D

是int吗? 线程安全?

我知道.Net中的所有32位类型(例如, int , bool等)都是线程安全的。 也就是说,不会有部分写入(根据规范)。 但是,这同样适用于int? (可以为空)?