string[]ccsplitなどの配列があります。
これらすべてを文字列に追加したいので、stringbuilderを使用します。
StringBuilder builder = new StringBuilder();
foreach (string str in ccsplit)
{
builder.Append(str);
}
しかし、唯一の問題は、文字列ccsplit [0]をstringbuilderに追加したくないということです。どうすればこれを実現できますか?
StringBuilderやループを使用する必要もありません。
string result = String.Concat(ccsplit.Skip(1));
仕事をします。Fx4以降が必要です。
インデックスは常に1から開始して、stringbuilderに追加できます。
for(int i=1; i<lengthOfArray;i++)
{
//Do your stuff.
}
一行回答
string str = string.Join("", ccsplit.Skip(1).ToArray());
Linqを使用できる場合は、Skip拡張メソッドを使用できます。
foreach (string str in ccsplit.Skip(1))
{
builder.Append(str);
}
または、Linqなし:
for (int i = 1; i < ccsplit.Length; i++) {
builder.Append(ccsplit[i]);
}
LINQを使用して、すべての文字列を連結することもできます。
String result = ccsplit.Skip(1).Aggregate((s1, s2) => s1 + s2);
編集:これは使用するバージョンですStringBuilder:
String result = ccsplit.Skip(1).Aggregate(new StringBuilder(),
(sb, str) => sb.Append(str),
(sb) => sb.ToString());
これは、LINQなしでそれを行う方法です。
for (var i = 1; i < ccsplit.Length; i++){
builder.Append(ccsplit[i]);
}
Skip() http://msdn.microsoft.com/en-us/library/bb358985.aspxを使用できます
StringBuilder builder = new StringBuilder();
foreach (string str in ccsplit.Skip(1))
{
builder.Append(str);
}
おそらく最後に a が必要なので、 and ループの代わりにstring適切なオーバーロードを使用してください:string.JoinStringBuilder
string combined = string.Join(string.Empty, ccsplit, 1, ccsplit.Length - 1);
using System.Linq;
...
StringBuilder builder = new StringBuilder();
foreach (string str in ccsplit.Skip(1))
{
builder.Append(str);
}
forループを使用:
StringBuilder builder = new StringBuilder();
for(int i = 1; i < ccsplit.Length; i++)
{
builder.Append(ccsplit[i]);
}
あなたはこのようにそれを行うことができます:
StringBuilder builder = new StringBuilder();
for (int ccsplitIndex = 1; ccsplitIndex < ccsplit.Length; ccsplitIndex++)
{
builder.Append(ccsplit[ccsplitIndex]);
}
インデックスを 0 ではなく 1 から開始するように foreach を a に変更します。
for (int i = 1; i <= ccsplit.Length-1; i++)
{
builder.Append(ccsplit[i]);
}