我有这个代码:

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),而且不支持任何不受支持的方法。

08-26 00:00