草庐IT

字典顺序

全部标签

c# - 在 C# 中将对象视为属性字典

我希望能够使用属性名称作为键来访问对象(如字典)中的属性值。我真的不在乎这些值是否作为对象返回,所以Dictionary很好。这是预期用途:objectperson=new{Name:"Bob",Age:45};IDictionarylookup=newPropertyDictionary(person);stringname=(string)person["Name"];person["Age"]=(int)person["Age"]+1;//potentiallyeditable我正要为此实现我自己的类,但后来我开始注意到像DynamicObject这样的类实现了IDictiona

C# 数组还是字典?

我想知道C#数组是否具有恒定的访问速度?我需要在静态数组中存储1000个项目,这些项目将在服务器启动期间进行初始化。该数组将只读使用,所以数组不会有任何变化。我应该改用简单的C#数组(newMyClass[])还是字典。我是C#的新手,正在尝试了解C#数组访问的工作原理。它们可以在速度上与C++数组进行比较吗? 最佳答案 最佳选择取决于您需要如何访问元素。如果你想通过索引访问它们,那么使用数组。C#中的数组具有恒定的访问速度,并且在访问速度方面与C++数组非常相似。但是,字典的访问速度非常快(Itemproperty接近O(1)的访

c# - 使用 LINQ 将 DataRow 转换为字典

我需要使用LINQ将DataRow转换为Dictionary。下面的代码将获取DataRow,下一步是我需要将其转换为字典(ColumnName,RowVale)varWorkWeekData=fromdatainmWorkWeekData.AsEnumerable()wheredata.Field("Code")==codeselectdata; 最佳答案 这绝对有可能,是的:vardict=row.Table.Columns.Cast().ToDictionary(c=>c.ColumnName,c=>row[c]);

c# - OleDbCommand 参数顺序和优先级

过去40分钟我一直在调试这个查询,问题显然是参数的顺序。SELECT*FROMtblSomeThingWHEREid=@idANDdebut=@dtDebutANDfin=@dtFin然后我以这种方式添加参数,注意最后两个参数被调换了,我没有得到任何结果。cmd.Parameters.Add("@id",OleDbType.Integer).Value=idSociete;cmd.Parameters.Add("@dtFin",OleDbType.Date).Value=dateTraitementFin;cmd.Parameters.Add("@dtDebut",OleDbType.

c# - 确定字典是否包含一组键的全部

我正在尝试找出确定Dictionary是否有效的最佳方法对象包含一组string的所有对象作为键。我可能没有任何意义所以这里有一些使用一组确定的字符串的示例代码:publicstaticboolContainsKeys(thisDictionarydictionary){returndictionary.ContainsKey("fname")&&dictionary.ContainsKey("lname")&&dictionary.ContainsKey("address1")&&dictionary.ContainsKey("city")&&dictionary.ContainsK

c# - 字典 <string,string> 使用 Automapper 映射到一个对象

我有一个类publicUserclass{publicstringName{get;set;}publicstringAge{get;set;}像字典一样Dictionarydata=newDictionary();data.Add("Name","Rusi");data.Add("Age","23");Useruser=newUser();现在我想使用Automapper将User对象映射到这个dictionary。Automapper映射对象的属性,但在我的例子中有字典和对象。如何映射? 最佳答案 AutoMapper在对象的属

c# - xunit.net 中是否有一种简单的方法可以在不考虑项目顺序的情况下比较两个集合?

在我的一个测试中,我想确保一个集合有特定的项目。因此,我想将此集合与预期集合的项目进行比较,不考虑项目的顺序。目前,我的测试代码看起来有点像这样:[Fact]publicvoidSomeTest(){//DosomethinginArrangeandActphasetoobtainacollectionListactual=...//NowtheimportantstuffintheAssertphasevarexpected=newList{42,87,30};Assert.Equal(expected.Count,actual.Count);foreach(variteminact

c# - 字符串比较和单个字符的字母顺序

我有一个关于字符串比较与字符比较的问题。字符>和0(零)相应地具有以下十进制值62和48。当我比较以下代码中的两个字符时,我得到值True(这是正确的)Console.WriteLine('>'>'0');当我比较以下代码中的两个单字符字符串时,我得到值-1,它表示">"小于"0"(默认区域性是英文)Console.WriteLine(string.Compare(">","0"));而以下代码中“3”和“1”(51和49代码值)的比较返回1(如预期)Console.WriteLine(string.Compare("3","1"));此外,string.Compare(strings

c# - 比较在字典中用作键的对象

我的类(class):publicclassmyClass{publicintA{get;set;}publicintB{get;set;}publicintC{get;set;}publicintD{get;set;}}和主要示例:Dictionary>dict=newDictionary>();myClassfirst=newmyClass();first.A=2;first.B=3;myClasssecond=newmyClass();second.A=2;second.B=3;second.C=5;second.D=6;dict.Add(first,newList());if(

c# - LINQ:从字典中获取给定值列表的键,反之亦然

我的代码中有以下结构Dictionarydata;.我对这两种数据类型都运行了一些LINQ查询,并且经常需要在Keys之间切换和Values.获取给定值的键列表的最佳方法是什么,反之亦然?请注意,由于我以前的LINQ查询,我通常有'IEnumerable'和'IEnumerable'并且想要像IEnumerableDictionary.GetAllKeys(IEnumerablevals)这样的东西和IEnumerableDictionary.GetAllValues(IEnumerablekeys).也许我需要其他数据容器来完成这项任务?问候,亚历山大。