Tag: 集合

如何避免手动实现INotifyPropertyChanged

有没有办法避免这种情况。 我有很多绑定到DataGridViews的类,它们只是带有默认getter和setter的简单属性集合。 所以这些类非常简单。 现在我需要为它们实现INotifyPropertyChanged接口,这将增加很多代码量。 是否有任何类可以inheritance以避免编写所有这些无聊的代码? 我认为我可以从某个类inheritance我的类,并用一些属性装饰属性,它会发挥魔力。 那可能吗? 我很清楚面向方面编程,但我宁愿以面向对象的方式。

实现“ReOrderable Collection”并将其保留到数据库的最佳方式

我的域名对象: public class MyDomainObject { public Guid Id { get; set; } public string Name { get; set; } public int DisplayOrder { get; set; } } 假设样本数据: var list = new List() { new MyDomainObject {Name = “Element1”, DisplayOrder = 0}, new MyDomainObject {Name = “Element2”, DisplayOrder = 1}, new MyDomainObject {Name = “Element3”, […]

List .Contains()如何查找匹配项?

我有一个汽车对象列表 List cars = GetMyListOfCars(); 我想知道列车中是否有车 if (cars.Contains(myCar)) { } Contains用什么来确定myCar是否在列表中。 它是否在我的汽车对象上执行“ToString()”。 它是否使用Equals()方法,gethashcode()? 我看到我可以通过我自己的IEqualityComparer来强制我自己的实现,但只是想了解它默认情况下的作用。

无法将ListBox.ObjectCollection转换为(类型化)数组

我想将项目转换为String数组或我用来填充ListBox.DataSource的类型。 该类型已重写ToString()但我似乎无法将其转换,甚至不能转换为String []。 String[] a = (String[])ListBox1.Items; Contacts[] b = (Contacts[])ListBox1.Items;

我们在C#中有某种Triple系列吗?

我在考虑为列表的每个对象保留三条信息。 所以我可以为这三个信息创建一个具有三个属性的类,然后创建该类类型的集合……但我想知道在.NET 3.5(而不是4.0)中有任何内置的东西吗? 例如一个字典……一个人为每个项目,关键和价值保留两条信息…但我需要三个。 我们有内置的东西吗?

.NET中的嵌套字典集合

.NET Dictionary对象允许分配键/值,如下所示: Dictionary dict = new Dictionary(); dict[“1”] = “foo”; dict[“2”] = “bar”; 但我不能像这样使用字典: Dictionary dict = new Dictionary(); dict[“F1”][“F2”][“F3”] = “foo”; dict[“2”][“X”] = “bar”; .NET中有一个集合允许我嵌套[] ,还是我必须创建自己的集合? 如果我必须创建自己的,我该怎么做? 编辑: 如果我可以实现期望唯一键的实现也是有用的,如下所示: dict[“F1”][“F2”][“F3”] = “foo”; dict[“F1”][“F2”][“F3”] = “bar”; //result is “bar” because “foo” was overridden 以及可以多次使用密钥的实现 dict[“F1”][“F2”][“F3”] = “foo”; dict[“F1”][“F2”][“F3”] = “bar”; //result can be “foo” and […]

C#:将同一个对象添加到两个List 变量时,是否在过程中克隆了对象?

我有类似的东西: // Declarations: List list1 = new List(); List list2 = new List(); … SomeType something = new SomeType(“SomeName”); list1.Add(something); list2.Add(something); … list1[indexOfSomething] = new SomeType(“SomeOtherName”); 并且list2中的对象没有改变……这是预期的结果吗?

直接从字典获取KeyValuePair

我有System.Collections.Generic.Dictionary dict ,其中A和B是类,实例A a (其中dict.ContainsKey(a)为真)。 是否有可能直接从Dictionary中获取KeyValuePair? 或者我是否需要创建一个新的KeyValuePair: new KeyValuePair(a, dict[a]) ?

如何在C#.NET中创建控件数组?

我有一个包含几个标准控件(文本框,按钮等)的表单。 我想在集合中对某些控件进行分组,以便我可以在任何给定时间启用和禁用它们,而无需显式设置每个控件。 这样做的语法是什么? 这是一些伪代码,以显示我想做什么…. Control[] ControlCollection = new Control[]; ControlCollection.add(Button1); ControlCollection.add(TextBox1); … … foreach( Control x in ControlCollection) { x.Enabled = false; } 我知道我可以将控件放在一个组框中并完成此操作,但控件不会以方便的方式放在表单上。

Order By vs Sort用于创建有序集合

我已经通过这篇文章C#Sort和OrderBy比较 但是这个问题所接受的答案对我来说是模糊的。 我无法决定何时使用Sort或何时使用OrderBy。 无论如何,建议排序或通过彼此排序。 那么,请给我一个简洁的答案,没有任何复杂性。