Tag: 列表

c#中list 和dictionary 有什么区别?

我对c#中的列表和字典有一个奇怪的疑问 在列表中,我们使用以下方法将项目添加到列表中 using System.Collections.Generic; class Program { static void Main() { List list = new List(); list.Add(2); list.Add(3); list.Add(5); list.Add(7); } } 在字典中我们添加这样的项目…… using System; using System.Collections.Generic; class Program { static void Main() { Dictionary d = new Dictionary(); d.Add(“cat”, 2); d.Add(“dog”, 1); d.Add(“llama”, 0); d.Add(“iguana”, -1); } } 我不确切地知道有什么区别,但是在字典中我们添加像(键,值)对的项目,在列表中我们只添加项目而不指定任何键。 有人会澄清这个吗?

从codebehind C#Asp.net添加到列表

我在ASPX页面中有一个UL列表: Tab 1 Tab 2 Tab 3 Tab 4 我想从代码隐藏中动态添加列表项,包括每个新列表项的href条目。 怎么样?

如何创建线程安全的通用列表?

我有一个通用列表如下 public static readonly List Customers = new List(); 我正在使用以下方法: .Add .Find .FirstOrDefault 最后2个是LINQ扩展。 我需要使这个线程安全的能够运行容器类的多个实例。 怎么实现呢?

ASP.Net MVC SelectLIst和List 的问题

我正在扩展一个Enum,并且给定以下代码, selectListItems是一个SelectListItems的通用List,它具有我的Enum的所有正确值。 第一个foreach循环工作正常。 但是,当我创建实际的SelectList并传入selectListItems ,所有值都将丢失。 我怎样才能保持这些价值不变? foreach (SelectListItem item in selectListItems) { string tex = item.Text; string val = item.Value; string sel = item.Selected.ToString(); } SelectList selectList = new SelectList(selectListItems); foreach (SelectListItem slid in selectList) { string tex = slid.Text; string val = slid.Value; string sel = slid.Selected.ToString(); }

如何序列化List ?

我有Aclass.Bclass和Cclass是Aclass的一部分。 Class A { //Few Properties of Class A List list1 = new List() List list2 = new List() Nsystem NotSystem { get; set; } // Enum Property Type } public enum Nsystem { A = 0, B = 1, C = 2 } 我想序列化A类,并希望用它生成XML; 我还想序列化list1和list2以及枚举… 序列化这个XML有什么好方法,因为我需要将Object转换为XML和XML转换为Object的function…… 有什么好的选择呢? 谢谢

排序字符串数

可能重复: C#中的自然排序顺序 我有一个包含大量数字的列表。 但由于一些额外的字母,它们被保存为字符串。 我的列表看起来像这样: 1 10 11 11a 11b 12 2 20 21a 21c A1 A2 … 但它看起来应该是这样的 1 2 10 11a 11b … A1 A2 … 如何对列表进行排序以获得此结果?

将对象转换为通用列表

我有3个generict类型列表。 List = new List(); List = new List(); List = new List(); 并将其保存在具有类型对象的变量上。 现在我做了Cast back to List来执行foreach,有些像这样: List = (List)obj; 但obj内容每次都在变化,我有一些这样的: List = (List)obj; 我有另一个变量保持当前obj类型: Type t = typeof(obj); 我可以做那样的事吗??: List = (List)obj; Obs:我没有列表中的当前类型,但我需要强制转换,而我现在不再使用另一种forms: List = new List();

Console.WriteLine和通用List

我经常发现自己编写这样的代码: List list = new List { 1, 3, 5 }; foreach (int i in list) { Console.Write(“{0}\t”, i.ToString()); } Console.WriteLine(); 更好的是这样的: List list = new List { 1, 3, 5 }; Console.WriteLine(“{0}\t”, list); 我怀疑有一些聪明的方法,但我没有看到它。 有人比第一块有更好的解决方案吗?

ASP.Net MVC RouteData和数组

如果我有这样的动作: public ActionResult DoStuff(List stuff) { … ViewData[“stuff”] = stuff; … return View(); } 我可以使用以下url点击它: http://mymvcapp.com/controller/DoStuff?stuff=hello&stuff=world&stuff=foo&stuff=bar 但在我的ViewPage中,我有这个代码: 不幸的是,MVC不够聪明,无法识别该动作采用数组,并展开列表以形成正确的URL路由。 相反,它只是在对象上执行.ToString(),它只列出了List中的数据类型。 当其中一个目标Action的参数是数组或列表时,有没有办法让Html.ActionLink生成一个正确的URL? – 编辑 – 正如Josh在下面指出的那样,ViewData [“stuff”]只是一个对象。 我试图简化问题,但引起了一个无关的错误! 我实际上使用的是专用的ViewPage ,因此我有一个紧密耦合的类型感知模型。 ActionLink实际上看起来像: 其中ViewData.Model.Stuff被键入为List

如何通过多个T.attributes对List 进行排序?

假设我有一个歌曲列表。 Song { public string Name = “”; public int PlayOrder = 0; } 现在我想首先按PlayOrder对它们进行排序,从零开始按名称按字母顺序排序。 因此,一组示例排序结果将是(Name,PlayOrder): /* Pachelbel’s Canon, 0 A Happy Song, 4 Beethoven’s 5th, 4 Some Other Song, 7 */ 请参阅按字母顺序查看PlayOrder = 4的顺序? 这就是我想要的。 现在我只有一个字段排序: List final = new List(); … final.Sort((x, y) => x.PlayOrder.CompareTo(y.PlayOrder)); return final; 我怎样才能按名称进行排序,如上所示?