C# 如何用逗号字符分隔字符串?
我想用逗号分隔两个字符串(即234229),并尝试添加C# 如何用逗号字符分隔字符串?,c#,string,C#,String,我想用逗号分隔两个字符串(即234229),并尝试添加String.Join()。我有下面提到的代码,在最后一行我遇到了错误。我知道这是一个需要问的基本问题,但我对C#编程语言还不熟悉 string queryEventID = ""; foreach (ListItem lstAssign in lstEvent.Items) { if (lstAssign.Selected == true) {
String.Join()
。我有下面提到的代码,在最后一行我遇到了错误。我知道这是一个需要问的基本问题,但我对C#编程语言还不熟悉
string queryEventID = "";
foreach (ListItem lstAssign in lstEvent.Items)
{
if (lstAssign.Selected == true)
{
queryEventID = queryEventID + lstAssign.Value + " "; //queryEventID(234 229)
logfield = logfield + "," + lstEvent.SelectedItem.Text;
}
}
string queryEventIDs=string.Join(",",queryEventID);//error(cannot convert from string to string[])
您应该使用
集合
进行应用
从文件中:
Join(字符串, 字符串[])
:使用每个元素之间指定的分隔符连接字符串数组的所有元素
下面是一个如何在您的情况下使用它的示例
List<string> queryEventIDList;
foreach (ListItem lstAssign in lstEvent.Items)
{
if (lstAssign.Selected == true)
{
queryEventIDList.Add(lstAssign.Value);
logfield = logfield + "," + lstEvent.SelectedItem.Text;
}
}
string queryEventIDs = string.Join(",", queryEventIDList);
列表查询通风列表;
foreach(lstEvent.Items中的ListItem lstAssign)
{
如果(lstsign.Selected==true)
{
queryEventList.Add(lstAssign.Value);
logfield=logfield+“,”+lstEvent.SelectedItem.Text;
}
}
string QueryEventId=string.Join(“,”,QueryEventId列表);
您可以使用split函数将字符串转换为集合
string queryEventID = "";
foreach (ListItem lstAssign in lstEvent.Items)
{
if (lstAssign.Selected == true)
{
queryEventID = queryEventID + lstAssign.Value + " "; //queryEventID(234 229)
logfield = logfield + "," + lstEvent.SelectedItem.Text;
}
}
string queryEventIDs = string.Join(",", queryEventID.Split(' '));
您可以尝试Linq来查询集合:
using System.Linq;
...
string queryEventID = string.Join(",", lstEvent // Join query data:
.Items // Having lstEvent.Items
.OfType<ListItem>() // Obtain IEnumerable<ListItem>
.Where(item => item.Selected) // Selected only
.Select(item => item.Value)); // Value (not item)
queryEventID是数组吗?它看起来像一根长而大的绳子,里面有空格。。输出显示循环运行后,
queryventid
中的数据是什么样子的。这就是预期的输出string.Join()
中的第二个参数必须是一个数组。在if语句之后,我认为您需要+=
而不是=
。这将附加到字符串,而不是每次都覆盖它。您也可以在该点添加逗号。我正在从列表框中选择两个事件,即id为234的A和id为229的B。循环后,queryEventID获取所选事件的id为234 229…..我希望它是234229I,因为我无法从System.collections.generic.list转换为queryEventID列表的字符串[](我刚刚编辑了答案以包含此…)使用QueryEventId列表上的ToArray()
方法,如下所示:string QueryEventId=string.Join(“,”,QueryEventId.ToArray());
No,它应该可以处理从“IEnumable”实现的列表和其他集合。这里的情况可能不同。无法将queryEvents的System.collections.generic.list转换为字符串[](最后一行)谢谢你这么多朋友…:)…它非常有效…:)
string[] queryEvents = lstEvent
.Items
.OfType<ListItem>()
.Where(item => item.Selected)
.Select(item => item.Value)
.ToArray();
string queryEventID = string.Join(",", queryEvents);