如何在连接中设置字符串中的前缀?

时间:2018-06-19 07:49:24

标签: c#

我有这个字符串:

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?

3 个答案:

答案 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));