我有这个代码:
IList<string> stelle = stelleString.Split('-');
if (stelle.Contains("3"))
stelle.Add("8");
if (stelle.Contains("4"))
stelle.Add("6");
但是似乎IList在.Split()之后具有固定大小:System.NotSupportedException:集合具有固定大小。
我该如何解决这个问题?
最佳答案
Split
方法返回一个数组,您不能调整数组的大小。
您可以使用List<string>
扩展方法从数组创建ToList
:
IList<string> stelle = stelleString.Split('-').ToList();
或
List<T>
构造函数:IList<string> stelle = new List<string>(stelleString.Split('-'));
此外,您可能不想使用
IList<T>
接口(interface)作为变量的类型,而只是使用对象的实际类型:string[] stelle = stelleString.Split('-');
或者:
List<string> stelle = stelleString.Split('-').ToList();
这将使您可以完全使用该类可以做的事情,而不仅限于
IList<T>
接口(interface),而且不支持任何不受支持的方法。