我有包含n个元素的字符串。
我想在第一个位置插入一个自动递增的数字。
E.g 数据
66,45,34,23,39,83
64,46,332,73,39,33
54,76,32,23,96,42
我正在使用split char','
将字符串拆分为数组我希望带有递增数字的结果数组成为第一个位置
1,66,45,34,23,39,83
2,64,46,332,73,39,33
3,54,76,32,23,96,42
请建议我该怎么做。
由于
答案 0 :(得分:14)
您不能使用数组,而是需要使用List<string>
。
例如:
List<string> words = new string[] { "Hello", "world" }.ToList();
words.Insert(0, "Well");
答案 1 :(得分:10)
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>();
希望这会有所帮助......
答案 2 :(得分:4)
您无法向Array插入任何内容。请改用List<T>
。
答案 3 :(得分:3)
您必须使用类似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" );
答案 4 :(得分: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";
分割a,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
我不确定我是否理解了你的问题。 :|
答案 5 :(得分:1)
我知道您想要一个C#答案(这里已经有使用该语言的好答案了),但是我正在学习F#,并以此语言作为学习练习。
因此,假设您要返回一个字符串数组并愿意使用F#...
let aStructuredStringArray = [|"66,45,34,23,39,83"
"64,46,332,73,39,33"
"54,76,32,23,96,42"|]
let insertRowCountAsString (structuredStringArray: string array) =
[| for i in [0 .. structuredStringArray.Length-1]
do yield String.concat "" [ i.ToString(); ","; structuredStringArray.[i]]
|]
printfn "insertRowCountAsString=%A" (insertRowCountAsString aStructuredStringArray)
答案 6 :(得分:0)
无法调整C#数组的大小。这意味着您无法插入项目。
您有两种选择:
List<T>
。选项1总是首选。
有Array.Resize(T)
。从表面上看,这与我上面所说的相矛盾。但是,此方法的文档说明:
此方法分配具有指定大小的新数组,将旧数组中的元素复制到新数组,然后用新数组替换旧数组。
答案 7 :(得分:-5)
将用于lopp的递增数字附加到字符串
1,66,45,34,23,39,83
2,64,46,332,73,39,33
3,54,76,32,23,96,42