草庐IT

Set集合

全部标签

c# - 将 set 访问器添加到类中的属性,该类派生自只有一个 get 访问器的抽象类

我有一个抽象类,AbsClass实现一个接口(interface),IClass.IClass有几个属性只有Get访问器。AbsClass实现的属性IClass作为要在派生自的类中定义的抽象属性AbsClass.所以所有派生自的类AbsClass还需要满足IClass通过与Get访问器具有相同的属性。但是,在某些情况下,我希望能够向来自的属性添加set访问器。IClass.然而,如果我尝试覆盖中的抽象属性AbsClass使用setaccessor我收到此错误ConcClassA.Bottom.Set无法覆盖,因为AbsClass.Bottom没有可覆盖的set访问器见ConcClass

c# - 异步取自阻塞集合

我正在使用BlockingCollection实现生产者/消费者模式。我有一个异步循环,它用要处理的数据填充集合,然后客户端可以在稍后的时间访问这些数据。数据包很少到达,我希望在不使用阻塞调用的情况下完成轮询。本质上,我正在寻找类似BeginTake的东西和EndTake阻塞集合中不存在,因此我可以在回调中使用内部线程池。它不一定是BlockingCollection以任何方式。任何满足我需要的东西都会很棒。这就是我现在所拥有的。_bufferedPackets是BlockingCollection:publicbyte[]Read(inttimeout){byte[]result;i

c# - 在集合类型上使用大括号初始化程序是否设置了初始容量?

在集合类型上使用大括号初始化器是否设置了它的容量,还是您仍然需要指定它?也就是说,确实:varlist=newList(){"One","Two"};结果与此相同:varlist=newList(2){"One","Two"}; 最佳答案 对象初始化器简单地调用Add对于每个项目。varlist=newList{"One","Two","Three"};如您所见,在本例中调用了无参数构造函数:L_0000:nopL_0001:newobjinstancevoid[mscorlib]System.Collections.Generic

c# - 如何将通用项添加到绑定(bind)到 WPF 中的集合的 ComboBox

我在WPF应用程序中有一个ComboBox,它绑定(bind)到C#ViewModel类中Department对象的ObservableCollection。我想使用组合框按部门过滤另一个集合(现在确实适用)问题是我想在列表顶部添加一个附加选项“全部”。有没有正确的方法来做到这一点。制作一个假部门在很多方面都感觉不对。组合框 最佳答案 你可以使用CompositeCollection作为ComboBox的ItemsSource以包含“全部”选项。您需要将CollectionContainer的Collection属性设置为您的“部门

c# - 如何让我的自定义配置部分表现得像一个集合?

我需要如何编写自定义ConfigurationSection以便它既是节处理程序又是配置元素集合?通常,您有一个继承自ConfigurationSection的类,然后它有一个继承自ConfigurationElementCollection的类型的属性,然后返回从ConfigurationElement继承的类型集合的元素.要对其进行配置,您将需要如下所示的XML:我想剪掉节点,并且只有: 最佳答案 我假设collection是您的自定义ConfigurationSection类的属性。您可以使用以下属性装饰此属性:[Config

c# - 测试集合是否包含基于特定属性的对象

我正在使用NUnit2.5.7。我想根据某个类的属性测试特定类的自定义对象集合是否包含某些对象。例如一个人为的例子...publicclassPerson{publicstringName{get;set;}publicPerson(stringname){Name=name;}}//...publicListGetFavouritePeople(){ListfavouritePeople=newList();favouritePeople.Add(newPerson("joe"));favouritePeople.Add(newPerson("fred"));favouritePeo

c# - 使用 LINQ 排序后获取集合中项目的新索引

我想在C#中对列表(或数组)进行排序,并希望为未排序列表中的每个项目保存新索引。即:A=231sorted(A)=123indexes=120我在Stackoverflow上读到LINQ特别有用,但我找不到具体的操作方法。 最佳答案 注意事项:我犯了一个错误,误读了OP的问题(这让我很尴尬,收到了这么多赞成票)。我希望(理想情况下)OP接受其他答案之一是正确的。为了公平对待投票者并本着SO的精神,我将修改此答案以使其正确。一个人可以携带两种扩展方法,一种用于旧索引,一种用于新索引(这是OP想要的)。publicstaticIEnum

c# - 当控件是数据绑定(bind)时,无法以编程方式将行添加到 datagridview 的行集合

首先,我在here中查找了这个相关问题。但解决方案dataGridView1.Rows.Add()在我的情况下不起作用。在我的Datagridview中,我有3个用于数据输入的文本框和2个供用户选择值(绑定(bind)到数据库中)的组合框。我的一个文本框设置为只读,这样用户只能在数据网格之外填充它(使用普通的TexBox和按钮)。当用户用数据填充DataGridView时,底部总是有一个空行;所以我禁用它并使用这段代码来防止用户在数据网格中添加新行...dataGridView1.AllowUserToAddRows=false我只想在用户单击我上面提到的按钮时添加一个新行(这会引发错

只读集合属性的C#对象初始化

对于我来说,我无法弄清楚下面的C#代码示例片段中发生了什么。测试类的集合(List)属性设置为只读,但我似乎可以在对象初始化器中分配给它。**编辑:修复了List'getter'的问题usingSystem;usingSystem.Collections.Generic;usingNUnit.Framework;namespaceWF4.UnitTest{publicclassMyClass{privateList_strCol=newList{"test1"};publicListStringCollection{get{return_strCol;}}}[TestFixture]p

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

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