当前位置: 首页 > 编程语言 > C#

C#获取和设置List集合的属性分享

时间:2023-04-10 13:19:55 C#

C#获取和设置List集合的属性如何设置Collection的属性?我创建了一个具有Collection属性的类。我想在设置新值时随时添加到列表中。在set方法中使用_name.Add(value)不起作用。SectionnewSec=newSection();newSec.subHead.Add("测试字符串");newSec.subHead.Add("另一个测试字符串");publicclassSection{publicStringhead{get;放;}私有列表_subHead=newList();私有列表_content=newList();publicListsubHead{get{return_subHead;}设置{_subHead.Add(值);}}public列表内容{get{return_content;}设置{_content.Add(值);}}}更新了我的解决方案:publicclassSection{privateList_head=newList();私有列表_subHead=新列表();私有列表_content=newList();publicListHead{get}}publicListSubHead{get{return_subHead;}}publicListContent{get{return_content;}}publicvoidAddHeading(stringline){Head.Add(line);}publicvoidAddSubHeading(stringline){SubHead.Add(line);}publicvoidAddContent(stringline){Content.Add(line);将它作为setter的一部分是不合适的——这并不是说你实际上是在设置整个字符串列表——你只是想添加一个。有几个选项:在第二种情况下,您的代码可以是:publicclassSection{publicStringHead{get;放;}privatereadonlyList_subHead=newList();私有只读列表_content=newList();//注意:修复大小写以符合.NET命名约定publicIListSubHead{get{return_subHead;}}publicIListContent{get{return_content;这是非常实用的代码,尽管它确实暗示这可能并不理想,因为调用者可以按照他们想要的任何方式改变您的集合。第一种方法保留了最多的控制权(只有您的代码可以看到可变列表)但对于调用者来说可能不太方便。制作一个集合类型的setter实际上只是将一个元素添加到现有集合中既不可行也不愉快,所以我建议你放弃这个想法。如果我理解你的请求,你必须执行以下操作:publicclassSection{publicStringHead{get{returnSubHead.LastOrDefault();}set{SubHead.Add(value);}publicListSubHead{get;私有集;}公共列表内容{get;私有集;你像这样使用它:varsection=newSection();section.Head="测试字符串";现在,“测试字符串”被添加到subHeads集合中,并将通过getter提供:varlast=section.Head;//最后将是“测试字符串”希望我理解正确。或publicclassSection{publicStringHead{get;放;}privatereadonlyList_subHead=newList();私有只读列表_content=newList();publicIEnumerableSubHead{get{return_subHead;}}publicIEnumerableContent{get{return_content;}}publicvoidAddContent(StringargValue){_content.Add(argValue);}publicvoidAddSubHeader(StringargValue){_subHead.Add(argValue);实现程度。您的安装程序很奇怪,这就是您可能遇到问题的原因。首先,考虑您是否需要这些设置器——如果需要,它们应该采用一个列表,而不仅仅是一个字符串:set{_subHead=value;这些行:newSec.subHead.Add("teststring");调用getter然后在返回的List上调用Add-不调用setter。以上就是C#学习教程:C#获取和设置ListCollection的属性。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: