2

4 つの文字列があり、それらの間に OR 演算子を追加したいとします。

Dim s1="db = 45 AND frec = 500 "
Dim s2="db = 25 AND frec = 1 "
Dim s3="db = 5 AND frec = 2 "
Dim s4="db = 15 AND frec = 4 "

それで

Dim result = "db = 45 AND frec = 500 OR db = 25 AND frec = 1 OR db = 5 AND frec = 2 OR db = 15 AND frec = 4"

文字列を連結するのは簡単です

Dim result= s1 & " OR " & s2 & " OR " & s3 & " OR " & s4

ただし、一般に、どの文字列も空または null になる可能性があるため、空の文字列を連結すると、

例えばs2 = ""

Dim result = "db = 45 AND frec = 500 OR  OR db = 5 AND frec = 2 OR db = 15 AND frec = 4"

これは正しくありません。「OR OR」のような文字列を置き換えることを考えていました

 Dim result = result.Replace("OR OR", "")

より良いアプローチはありますか?簡単な解決策は、すべてのケースをハードコーディングすることですが、それはあまり良くないと思います

(紐は他にも使っているのでデザインは変えられません)

4

2 に答える 2

6

C# の場合:

 string.Join(" OR ", new[] { stringA, stringB }
      .Where(s => !string.IsNullOrEmpty(s)));

これは、より大きな配列でも機能することに注意してください。.ToArray().NET <4.0 を使用している場合に追加

于 2013-08-19T20:02:52.600 に答える