将数组从文本框传递到参数中

时间:2017-08-25 19:26:53

标签: c# arrays

请查看我的代码:

var translateArraySourceTexts  = Textbox.Text.Split(new Char[] { '.' });
string requestBody = string.Format(body, from, "text/plain", translateArraySourceTexts[0], translateArraySourceTexts[1], ....., to);

发生的事情是,我有一个输入句子的文本框。我希望用“。”表示的每个句子分开句子。

然后,我想使用所有数组附加到字符串请求体。因为目前我正在使用“translateArraySourceTexts [0],translateArraySourceTexts [1] ,....... translateArraySourceTexts [9999]。

请与我分享您的想法!

1 个答案:

答案 0 :(得分:1)

修改

正如@Blorgbeard所说OP可能想要使用string.Join(实际上它可能是string.Concat) - 在这种情况下代码看起来像这样:

var translateArraySourceTexts = Textbox.Text.Split(new Char[] { '.' });
var list = new List<string>(translateArraySourceTexts.Length + 4);

list.Add(body);
list.Add(from);
list.Add("text/plain");
list.AddRange(translateArraySourceTexts);
list.Add(to);

string requestBody = string.Concat(list);
//if the strings have to be separated by some other string:
string requestBody = string.Join("separator", list);

如果您只需要连接数组中的文本,也可以使用string.Concat

var translateArraySourceTexts = Textbox.Text.Split(new Char[] { '.' });
var str = string.Concat(translateArraySourceTexts);  //use it however you want

当然,更简单的方法是从字符串中删除. s(如果以后不需要句子数组)

var translateArraySourceTexts = Textbox.Text.Replace(".", "");

旧答案 - 可能对某些人有用

您可以制作List<string>并将其传递给string.Format(如果我理解正确的话):

var translateArraySourceTexts = Textbox.Text.Split(new Char[] { '.' });
var list = new List<string>(translateArraySourceTexts.Length + 3);

list.Add(from);
list.Add("text/plain");
list.AddRange(translateArraySourceTexts);
list.Add(to);

string requestBody = string.Format(body, list.ToArray());

我认为body可能是一个格式字符串,而OP想要轻松地将数组传递给string.Format