6

重複の可能性:
C#での複数行の文字列リテラル

私はおそらく、私の答えを見つけるためにGoogleに正しい質問をしていません。1行に非常に長い文字列を含めずに、コードを整理したいだけです。文字列を壊さずに次の行に移動したい。

cmd.CommandText = "UPDATE players SET firstname = CASE id WHEN 1 THEN 'Jamie' WHEN 2 THEN 'Steve' WHEN 3 THEN 'Paula' END WHERE id IN (1,2,3)";

たとえば、文字列に影響を与えずに、これを2行に分割したいと思います。すべての助けをいただければ幸いです。

4

7 に答える 7

6

あなたが望むのは@、逐語的な文字列リテラルに使用することだと思います。逐語的な文字列の利点は、エスケープ シーケンスが処理されず、複数行にまたがることができることです。

cmd.CommandText = @"UPDATE players 
                    SET firstname = 
                      CASE id 
                        WHEN 1 THEN 'Jamie' 
                        WHEN 2 THEN 'Steve' 
                        WHEN 3 THEN 'Paula' 
                      END 
                    WHERE id IN (1,2,3)";
于 2012-09-28T17:50:43.297 に答える
4

@文字列の前に記号を使用します。文字列が複数行であることをコンパイラに伝えます。

cmd.CommandText = @"UPDATE players 
                    SET firstname = CASE id 
                        WHEN 1 THEN 'Jamie' 
                        WHEN 2 THEN 'Steve' 
                        WHEN 3 THEN 'Paula' 
                        END WHERE id IN (1,2,3)";
于 2012-09-28T17:51:04.647 に答える
3

@文字列の前で使用できます。これはVerbatim 文字列リテラルと呼ばれます

cmd.CommandText = @"
 UPDATE players 
 SET firstname = CASE id 
                 WHEN 1 THEN 'Jamie' 
                 WHEN 2 THEN 'Steve' 
                 WHEN 3 THEN 'Paula' 
                 END 
 WHERE id IN (1,2,3)";
于 2012-09-28T17:50:19.030 に答える
1

このような

cmd.CommandText = "UPDATE players SET firstname =" +
   " CASE id WHEN 1 THEN 'Jamie' WHEN 2 THEN 'Steve' WHEN 3" + 
   " THEN 'Paula' END WHERE id IN (1,2,3)";
于 2012-09-28T17:50:13.663 に答える
0

次のように文字列を単純に連結します。

cmd.CommandText = "UPDATE players SET firstname = CASE id WHEN 1 " 
cmd.CommandText +="THEN 'Jamie' WHEN 2 THEN 'Steve' WHEN 3 THEN 'Paula' END WHERE id IN (1,2,3)";
于 2012-09-28T17:50:15.567 に答える
0

それは連結と呼ばれます:

cmd.CommandText = "UPDATE players SET firstname" +
    " = CASE id WHEN 1 THEN 'Jamie' WHEN 2 THEN 'Steve'" +
    " WHEN 3 THEN 'Paula' END WHERE id IN (1,2,3)";
于 2012-09-28T17:50:15.780 に答える
0

このような?

cmd.CommandText = "text text" +
  "text text";
于 2012-09-28T17:50:18.133 に答える