字符串数组到外部参数的字符串

时间:2014-01-17 12:26:21

标签: c# arrays string

我有一个小问题。

我有一个字符串数组,根据参数我需要将数组的值存储到字符串中。

string[] x={"A","B","C","D","F","G"};
for(int i=0;i<number;i++)
{
string y=y+","+x[i];
}

如果 number = 3 ,那么我的字符串应该有(A,B,C,D)

上述实现会抛出一个无法使用y的错误。

实现上述功能的正确实施方式应该是什么?

非常感谢任何帮助。

此致

阿努拉格

3 个答案:

答案 0 :(得分:4)

您可以尝试一个简单的LINQ语句:

var partOfString = string.Join("", x.Take(number));

如果您想传入3,但获得4条记录,只需添加1:

var partOfString = string.Join("", x.Take(number + 1));

如果您想要的格式是字面(A,B,C,D)

var partOfString = string.Format("({0})", string.Join(",", x.Take(number + 1)));

答案 1 :(得分:1)

修改后的代码版本。

string[] x = { "A", "B", "C", "D", "F", "G" };

string result = string.Empty;
int number = 3;
for (int i = 0; i < number + 1; i++)
{
     result = result + "," + x[i];
}
result = result.TrimStart(',');

或简单的LINQ

string[] x = { "A", "B", "C", "D", "F", "G" };
int number = 3;            
string result = string.Join(",", x.Take(number+1)); ;

答案 2 :(得分:1)

string y = String.Empty;
string[] x={"A","B","C","D","F","G"};

for(int i = 0; i < x.GetUpperBound(0); i++)
{
    y = y + "," + x[i];
}
y = y.TrimEnd(',');

请使用StringBuilder类来操作字符串。