我正在做如下事情...
querybuilder = ("SELECT Type, Text FROM [Element] WHERE Id IN( ");
foreach (var item in CaseIdList)
{
querybuilder += item + ",";
}
querybuilder += ")";
在最后一个闭括号里面我得到了一个逗号。如何去掉它。使用 TrimEnd(',');
可以从字符串中删除最后一个逗号,string.TrimEnd
在 foreach 循环后使用:
querbuilder = querybuilder.TrimEnd(',');
你可以使用StringBuilder类来代替字符串连接。
querybuilder = querybuilder + (String.Join(",", CaseIdList)) + ")";
- Habibstring commaSeparated = string.Join(", ", values);
String.Join(",", item);
。这意味着你不需要进行繁琐的修剪或拆分。querybuilder = "SELECT Type, Text FROM [Element] WHERE Id IN( " + String.Join(",", CaseIdList.ToArray()) + ")";
querybuilder = ("SELECT Type, Text FROM [Element] WHERE Id IN( ");
foreach (var item in CaseIdList)
{
querybuilder += item + ",";
}
querbuilder = querybuilder.TrimEnd(',');
querybuilder += ")";
尝试使用Replace()
函数:
static void Main()
{
string temp = "(a, b, c, d,)";
temp = temp.Replace(",)", ")");
Console.WriteLine(temp);
Console.ReadKey();
}
var items = CaseIdList.Select(p=>p.ToString(CultureInfo.InvariantCulture)).Aggregate((i,j)=>i+", "+j)
querybuilder = string.Format("SELECT Type, Text FROM [Element] WHERE Id IN ({0})", items);
使用StringBuilder
的示例:
var querybuilder = new StringBuilder("SELECT Type, Text FROM [Element] WHERE Id IN(");
foreach (var fragment in fragments)
{
querybuilder.Append(fragment);
querybuilder.Append(',');
}
// note: we need to delete last line terminator
querybuilder.Remove(querybuilder.Length - 1, 1);
querybuilder.Append(')');
return querybuilder.ToString();