【问题】
C#中想要实现动态的字符串数组。
【解决过程】
1。网上找了一堆资料:
结果都是申请固定的大小的字符串的数组,而非动态的。
2.后来参考:
C# 没有动态的数组,可以用arraylist或list取代
去实现代码:
1 2 3 4 5 6 7 8 | using System.Collections; ArrayList songIdList = new ArrayList(); songIdList.Add( "12345" ); songIdList.Add( "23456" ); string id0 = songIdList[0].ToString(); string id1 = songIdList[1].ToString(); |
1 | |
就可以实现字符串数组的操作了。
【总结】
的确是,C#中没有默认支持动态的字符串数组,需要通过其他方式。
此处是通过ArrayList实现的。
示例代码参见上面。
【后记】
根据Joe的评论,去专门查了下:
可以看出,其实是用
List<string>
是更好的做法。
此处,暂且不去自己折腾了,需要的,参考官网代码吧:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | using System; using System.Collections.Generic; public class Example { public static void Main() { List< string > dinosaurs = new List< string >(); Console.WriteLine( "\nCapacity: {0}" , dinosaurs.Capacity); dinosaurs.Add( "Tyrannosaurus" ); dinosaurs.Add( "Amargasaurus" ); dinosaurs.Add( "Mamenchisaurus" ); dinosaurs.Add( "Deinonychus" ); dinosaurs.Add( "Compsognathus" ); Console.WriteLine(); foreach ( string dinosaur in dinosaurs) { Console.WriteLine(dinosaur); } Console.WriteLine( "\nCapacity: {0}" , dinosaurs.Capacity); Console.WriteLine( "Count: {0}" , dinosaurs.Count); Console.WriteLine( "\nContains(\"Deinonychus\"): {0}" , dinosaurs.Contains( "Deinonychus" )); Console.WriteLine( "\nInsert(2, \"Compsognathus\")" ); dinosaurs.Insert(2, "Compsognathus" ); Console.WriteLine(); foreach ( string dinosaur in dinosaurs) { Console.WriteLine(dinosaur); } Console.WriteLine( "\ndinosaurs[3]: {0}" , dinosaurs[3]); Console.WriteLine( "\nRemove(\"Compsognathus\")" ); dinosaurs.Remove( "Compsognathus" ); Console.WriteLine(); foreach ( string dinosaur in dinosaurs) { Console.WriteLine(dinosaur); } dinosaurs.TrimExcess(); Console.WriteLine( "\nTrimExcess()" ); Console.WriteLine( "Capacity: {0}" , dinosaurs.Capacity); Console.WriteLine( "Count: {0}" , dinosaurs.Count); dinosaurs.Clear(); Console.WriteLine( "\nClear()" ); Console.WriteLine( "Capacity: {0}" , dinosaurs.Capacity); Console.WriteLine( "Count: {0}" , dinosaurs.Count); } } |
转载请注明:在路上 » 【已解决】C#中如何实现动态字符串数组