jjzjj

c# - 从范围中选择但排除某些数字

这个问题在这里已经有了答案:Howtogetarandomnumberfromarange,excludingsomevalues(11个答案)关闭9年前。是否可以从给定范围(1-90)中选择一个随机数,但排除某些数字。排除的数字是动态创建的,但假设它们是3、8和80。我已经成功创建了随机数生成器,但无法找到任何可以满足我要求的函数。Randomr=newRandom();this.num=r.Next(1,90);要排除的数字是以前生成的数字。因此,如果随机数是1,则它会被添加到排除的数字列表中。

c# - 关于生成无法追踪的发票 ID 的想法

我想在我的应用中为客户打印发票。每张发票都有一个发票ID。我希望ID是:顺序(晚输入的ID)32位整数不容易像123那样可追踪,这样人们就无法分辨我们销售了多少商品。我自己的一个想法:自特定日期和时间(例如1/1/201000AM)以来的秒数。关于如何生成这些数字还有其他想法吗? 最佳答案 我不喜欢浪费时间的想法。您可能会遇到各种各样的问题-时差、一秒钟内发生多个事件等等。如果您想要顺序的且不易追踪的东西,如何为每个新ID生成一个介于1和您想要的任何值(例如100)之间的随机数。每个新的Id将是以前的Id+随机数。您还可以为您的ID

c# - 文字 12d 中的 'd' 叫什么?

我觉得我应该知道这个问题的答案,但我不知道。数字文字上的类型字符叫什么?doublemyDouble=12d;floatmyFloat=10f;我今天想找到它们的完整列表,但无法想出让Google搜索的内容。编辑如果有人感兴趣,找到一个像样的列表http://www.undermyhat.org/blog/2009/08/secrets-and-lies-of-type-suffixes-in-c-and-vb-net/ 最佳答案 它被称为数据类型后缀。 关于c#-文字12d中的'd'叫

c# - 获取无符号长整数中的位数c#

我正在尝试确定C#ulong数字中的位数,我正在尝试使用一些数学逻辑而不是使用ToString().Length。我没有对这两种方法进行基准测试,但看过其他关于使用System.Math.Floor(System.Math.Log10(number))+1确定位数的帖子。似乎工作正常,直到我从999999999999997过渡到999999999999998,此时,我开始得到不正确的计数。有没有人遇到过这个问题?我在Whylog(1000)/log(10)isn'tthesameaslog10(1000)?看到过类似的强调Java的帖子还有一个帖子@Howtogettheseparat

c# - params[] 可以作为 lambda 表达式的参数吗?

这个问题在这里已经有了答案:VariableparametersinC#Lambda(5个答案)关闭1年前。我最近开始探索lambda表达式,想到了一个问题。假设我有一个函数需要不确定数量的参数。我会使用params关键字来为可变数量的参数建模。我的问题:我可以用Lambda表达式做类似的事情吗?例如:Funcfoo=(paramsnumbers[])=>{intresult;foreach(intnumberinnumbers){result+=numbers;}returnresult;}如果是这样,就会出现两个子问题-是否有一种“好的”方式来编写这样的表达式,我什至想在某个时候编

c# - 如何在 C# 中制作通用数字解析器?

这个问题在这里已经有了答案:IsthereanygenericParse()functionthatwillconvertastringtoanytypeusingparse?(6个答案)关闭3年前。要将字符串解析为int,可以调用Int32.Parse(string),对于双,Double.Parse(string),很长一段时间,Int64.Parse(string),等等..是否可以创建一个使其通用的方法,例如ParseString(string)?其中T可以是Int32,Double等。我注意到类型的数量没有实现任何公共(public)接口(interface),并且Parse

c# - 从单行中给出的控制台中读取数字,以空格分隔

我的任务是在单行中读取n个给定数字,以空格分隔()从控制台。当我在单独的行(Console.ReadLine())中读取每个数字时,我知道该怎么做,但是当数字在同一行。 最佳答案 您可以使用String.Split.您可以提供要用于将字符串拆分为多个的字符。如果您不提供全部white-spaces假定为拆分字符(换行符、制表符等):string[]tokens=line.Split();//allspaces,tab-andnewlinecharactersareused或者,如果您只想使用空格作为分隔符:string[]token

c# - 模拟 IEnumerable<T> 类型的 GetEnumerator() 方法

以下测试用例在rhino模拟中失败:[TestFixture]publicclassEnumeratorTest{[Test]publicvoidShould_be_able_to_use_enumerator_more_than_once(){varnumbers=MockRepository.GenerateStub();numbers.Stub(x=>x.GetEnumerator()).Return(newList{1,2,3}.GetEnumerator());varsut=newObjectThatUsesEnumerator();varcorrectResult=sut.

c# - 为什么 float.parse 返回错误值?

我有一个问题。当我将像“0.005”这样的字符串解析为float或double时,它在我的电脑上运行良好,但当我将我的程序安装到我的客户端电脑时,它返回5。(我的电脑和我的客户端电脑都使用Windows7x64).这是我的例子publicfloatgetFloat(){floatmn=float.Parse("0.005");doublemn2=Convert.ToDouble("0.005");returnmn;} 最佳答案 这可能是系统文化设置的问题。试试这个:float.Parse("0.005",CultureInfo.In

C# 求最大数

我是第一次使用c#,所以不是很熟悉。如果我让用户输入3个数字,我想创建一个简单的程序来找到最大的数字。我只需要知道在代码中放入什么,因为我不是很确定。 最佳答案 使用Math.Max:intx=3,y=4,z=5;Console.WriteLine(Math.Max(Math.Max(x,y),z)); 关于C#求最大数,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/511725