我有这个字符串:
string[] codes = new string[]{"66000110", "66000001", "66000121"};
我想在上面的字符串上加入:
string filter = string.Join(" OR " + some_ID + "=", codes );
我得到的回复是:
some_ID=66000110 OR some_ID=66000001 OR some_ID=66000121
虽然我需要这样的字符串(在起始字符串上缺少OR):
OR some_ID=66000110 OR some_ID=66000001 OR some_ID=66000121
如何修复优雅的方式来获取字符串开头的OR?
答案 0 :(得分:3)
您似乎正在构建某种 SQL ;如果是您的情况,请尝试切换到IN
:
string filter = $" OR {some_ID} IN ({string.Join(", ", codes)})";
并且您将获得更具可读性的等价物
" OR some_ID IN (66000110, 66000001, 66000121)"
答案 1 :(得分:2)
为什么不是这样的?
string filter = " or " + string.Join(" OR " + some_ID + "=", codes );
答案 2 :(得分:2)
您可以结合使用LINQ和Concat():
string filter = string.Concat(codes.Select(c => " OR " + some_ID + "=" + c));