草庐IT

c# - 我如何使用自动映射器和数据库中的 int 将 int 转换为枚举和字符串

有人可以解释一下我如何使用Automapper将DBint值映射到字符串,使用枚举作为集合。我有以下内容枚举publicenumStatus{Open,Closed}EF4.1领域模型publicclassMyEntity{...publicintStatusId{get;set;}publicvirtualStatusStatus{get;set;}}Dto在网站上使用publicclassMyEntityDto{publicstringStatus{get;set;}}当前的Automapper映射Mapper.CreateMap().ConvertUsing>();Mapper.

c# - 您将如何获得 int 数组中最低值的索引?

考虑到这是一项非常基本的任务,我想不出一种适当简单的方法来完成它。您将如何获得int数组中最低值的索引?可以使用Linq/MoreLinq。到目前为止,我找不到合理的单线。 最佳答案 既然你提到了MoreLinq,那如何:int[]array=..//Willthrowifthearrayisempty.//Ifthereareduplicateminimumvalues,theonewiththesmaller//indexwillbechosen.intminIndex=array.AsSmartEnumerable().Min

c# - 在 C# 下,在 32 位处理器上使用 Int64 是危险的

我在MS文档中读到,在32位Intel计算机上分配64位值不是原子操作;也就是说,该操作不是线程安全的。这意味着如果两个人同时给一个静态Int64字段赋值,则该字段的最终值无法预测。三部分问题:这是真的吗?这是我在现实世界中会担心的事情吗?如果我的应用程序是多线程的,我真的需要用锁定代码包围我所有的Int64赋值吗? 最佳答案 这不是关于您遇到的每个变量。如果一些变量被用作共享状态或其他东西(包括但不限于somestatic字段),你应该注意这个问题。对于由于在闭包或迭代器转换中被关闭而未被提升并且一次由单个函数(因此,单个线程)使

c# - C# 中的 Int32 与 Int64 与 Int

这个问题在这里已经有了答案:关闭13年前。PossibleDuplicate:Assuming32bitints所以我在某处读到在C#中int等于int32。在64位机器上也是如此吗?我是否应该使用int32只是为了确保Microsoft没有人决定更改int的大小?

c# - 在 .NET 中将 int 的数字分隔成数组的最快方法?

我想将一个整数(比如12345)的数字分隔成一个字节数组{1,2,3,4,5},但我想要最有效的方法来做到这一点,因为我的程序就是这样做的数百万次。有什么建议吗?谢谢。 最佳答案 怎么样:publicstaticint[]ConvertToArrayOfDigits(intvalue){intsize=DetermineDigitCount(value);int[]digits=newint[size];for(intindex=size-1;index>=0;index--){digits[index]=value%10;valu

c# - 如何将 List<int> 转换为 string[]?

我需要一种简单的方法来转换List到string数组。我有:varthe_list=newList();the_list.Add(1);the_list.Add(2);the_list.Add(3);string[]the_array=newstring[the_list.Count];for(vari=0;i...这对我来说看起来很丑。有没有更简单的方法?注意:我正在寻找一种更简单的方法-不一定是更快的方法。 最佳答案 使用LINQ:string[]the_array=the_list.Select(i=>i.ToString()

c# - 有没有办法定义现有原始类型的 C# 强类型别名,如 `string` 或 `int` ?

也许我是在展示我对C#或.NET框架的一些常用功能的无知,但我想知道是否有一种native支持的方法来创建类型别名,如EmailAddress哪个别名string但是这样我就可以用我自己的方法扩展它,比如boolValidate()?我知道usingx=Some.Type;别名,但这些不是全局的,也不提供类型安全,即可以换出普通的string在当前文件中使用别名。我想要我的EmailAddress成为自己的类型,独立且不可与string互换输入它的阴影。我目前的解决方案是生成publicsealedpartialEmailAddress:IEquatable,IXmlSerializa

c# - 为什么 (int)(33.46639 * 1000000) 返回 33466389?

(int)(33.46639*1000000)返回33466389为什么会这样? 最佳答案 float学并不完美。Whateveryprogrammershouldknow关于它。Floating-pointarithmeticisconsideredanesotericsubjectbymanypeople.Thisisrathersurprisingbecausefloating-pointisubiquitousincomputersystems.Almosteverylanguagehasafloating-pointdat

c# - 为什么枚举声明接受 short 但不接受 Int16

我想声明一个具有非默认基础类型的新枚举。这有效:publicenumMyEnum:short{A,B,C,}但我不明白这不能编译的原因:publicenumMyEnum:System.Int16{A,B,C,}编译器说Typebyte,sbyte,short,ushort,int,uint,long,orulongexpected我知道short是所有.NET版本(包括32/64位版本)上Int16的别名。我不明白为什么编译器会在特定情况下为别名赋予不同的含义。有什么解释吗? 最佳答案 语法正确。C#规范明确指出枚举的基础类型必须是

c# - int.Parse,输入字符串的格式不正确

我将如何解析一个空字符串?int.Parse(Textbox1.text)给我一个错误:Inputstringwasnotinacorrectformat.System.FormatException:Inputstringwasnotinacorrectformat.如果文本为空(Textbox1.text=''),则会抛出此错误。我了解此错误,但不确定如何更正此错误。 最佳答案 如果您希望在空文本框上默认为0(并在格式不正确的输入上抛出异常):inti=string.IsNullOrEmpty(Textbox1.Text)?0: