2011-08-09 28 views
2

我有包含n個元素的字符串。在字符串數組中插入一個元素

我想插入一個自動遞增的數字到第一個位置。

例如 數據

66,45,34,23,39,83 
64,46,332,73,39,33 
54,76,32,23,96,42 

我劈裂串與分裂char數組 ''

我想和一個遞增數目的結果陣列的第一位置

1,66,45,34,23,39,83 
2,64,46,332,73,39,33 
3,54,76,32,23,96,42 

請建議我該怎麼做。

感謝

+8

以何種方式是一個字符串數組?它看起來更像是一個'int [] []'給我。 –

+1

或'int [,]'... –

+2

當你說'請建議我該怎麼做',你確定你不是指'爲我做。 –

回答

-5

所附使用LOPP到字符串

1,66,45,34,23,39,83
2,64,46,332,73,39,33
3,54,76遞增數,32,23,96,42

13

你不能用一個數組,你需要使用List<string>代替。

例如:

List<string> words = new string[] { "Hello", "world" }.ToList(); 
words.Insert(0, "Well"); 
+6

它會不會更清潔使用:列表 words =新名單 {「Hello」,「World」}; ? –

3

您無法插入任何東西陣列。改爲使用List<T>

2

你必須使用類似ArrayList的東西,而不是ArrayList.Insert()方法。

ArrayList myAL = new ArrayList(); 
    myAL.Insert(0, "The"); 
    myAL.Insert(1, "fox"); 
    myAL.Insert(2, "jumps"); 
    myAL.Insert(3, "over"); 
    myAL.Insert(4, "the"); 
    myAL.Insert(5, "dog"); 
0

C#數組無法調整大小。這意味着你不能插入項目。

你有兩個選擇:

  1. 使用List<T>代替。
  2. 創建一個新數組,其中有一個額外項目,複製舊數組的內容等等。

選項1總是優選的。


Array.Resize(T)。表面上看,這與我上面所說的相矛盾。然而,此方法的文檔指出:

這種方法分配具有指定大小的新數組,從舊的陣列到新副本元素,然後替換舊序列與該新的。

3

好,如果你有一個像下面

string a="66,45,34,23,39,83"; 
string b="64,46,332,73,39,33"; 
string c="54,76,32,23,96,42"; 

列表拆分,B,C ......前

string[] s=new string[]{a,b,c}; 

for(int i=0; i<s.length;i++){ 
    s[i]=(i+1)+s[i]; 
} 

現在被S中的每個字符串

你將不得不像

1,66,45,34,23,39,83 2,64,46,332,73,39列表,33 3,54,76,32,23,96,42

我不知道我是否理解了你的問題。 :|

6

的LINQ有一個簡單的方法來實現自己的 「使命」:

首先添加正確的命名空間:

using System.Linq; 

一第二則:

// Translate your splitted string (array) in a list: 
var myList = myString.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList<string>(); 

// Where insertPosition is the position you want to insert in: 
myList.Insert(insertingPosition, insertedString); 

// Back to array: 
string[] myArray = myList.ToArray<string>(); 

希望這有助於...

相關問題