IList trouble. Taille fixe?
J'ai ce code :
IList<string> stelle = stelleString.Split('-');
if (stelle.Contains("3"))
stelle.Add("8");
if (stelle.Contains("4"))
stelle.Add("6");
mais il semble que IList ont une taille fixe après une .Split() : Système.NotSupportedException: la Collecte a été de taille fixe.
Comment puis-je résoudre ce problème?
source d'informationauteur markzzz
Vous devez vous connecter pour publier un commentaire.
La
Split
méthode renvoie un tableau, et vous ne pouvez pas redimensionner un tableau.Vous pouvez créer un
List<string>
à partir du tableau à l'aide de laToList
méthode d'extension:ou la
List<T>
constructeur:En outre, vous ne voulez probablement pas à utiliser le
IList<T>
interface comme le type de la variable, mais il suffit d'utiliser le type réel de l'objet:ou:
Cela vous permettra d'utiliser exactement ce que la classe peut faire, ne se limite pas à la
IList<T>
interface, et pas de méthodes qui ne sont pas pris en charge.string.Split
retourne une chaîne de caractères tableau. Ce serait, en effet, ont une taille fixe.Vous pouvez convertir en un
List<string>
par le passage du résultat à laList<T>
constructeur:Ou, si disponible, vous pouvez utiliser LINQ
ToList()
opérateur:Il a une taille fixe de cause chaîne de caractères.Split retourne une chaîne de caractères[]. Vous devez passer la valeur de retour de split à une List<string> exemple à l'appui de l'ajout d'éléments supplémentaires.
Appel
ToList()
le résultat:Chaîne.split retourner un tableau. Mais vous pouvez redimensionate tableau. En VB, il est