0

私はこのコミュニティに不慣れで、現在のスクリプトを改善する方法についてアドバイスを求めています。以下はコードです:

if (condition1 == true) string stringname  = "dog";
if (condition2 == true) string stringname1 = "cat";
if (condition3 == true) string stringname2 = "mouse";
if (condition4 == true) string stringname3 = "crab";

Format.String("Animal Type: {0}, {1}, {2}, {3}", stringname, stringname1, stringname2, stringname3); // print to output

具体的には、次の方法で出力ウィンドウに結果を表示できるようにしたいと考えています。

例 1: 条件 1 と 3 が true で、条件 2 と 4 が false であると仮定します。「動物の種類: 犬、マウス」 現在のスクリプトでは、「動物の種類: 犬、マウス、」となります。

例 2: 条件 2 と 3 が真であると仮定: 「動物の種類: 猫、マウス」 現在のスクリプトでは、「動物の種類: 、猫、マウス」となります。

4

6 に答える 6

3
var animals = new List<string>();
if (condition1) animals.Add("dog");
if (condition2) animals.Add("cat");
if (condition3) animals.Add("mouse");
if (condition4) animals.Add("crab");
string result = "Animal Type: " + string.Join(", ", animals);
于 2013-08-30T11:39:49.847 に答える
0

まず、文字列を結合するには、次を使用します

String.Join メソッド

各メンバー間の指定された区切り記号を使用して、構築された String 型の IEnumerable(Of T) コレクションのメンバーを連結します。

だからあなたは何かを試すことができます

List<string> vals = new List<string>();
if (condition1) vals.Add("dog");
if (condition2) vals.Add("cat");
if (condition3) vals.Add("mouse");
if (condition4) vals.Add("crab");

そして、次のようなものを試してください

Format.String("Animal Type: {0}, String.Join(",", vals));
于 2013-08-30T11:39:36.607 に答える
0

文字列のリストを定義し、真の場合は値を入力することが解決策になると思います。その後、セミコロンを区切りとして結合します。

List<string> outList = new List<string>();
if (true) outList.Add("dog");
if (false) outList.Add("cat");
if (true) outList.Add("mouse");
if (false) outList.Add("crab");
Console.Write(String.Format("Animal Type: {0}", String.Join(",", outList)));
于 2013-08-30T11:47:39.870 に答える
0

最も近い直接一致は、次のようなものになります。

console.WriteLine(string.Format("Animal Type: {0}, {1}, {2}, {3}", (condition1 ? "dog", ""), (condition2 ? "cat", ""), (condition3 ? "mouse", ""), (condition4 ? "crab", ""))); // print to output

あなたのコードでは、のスコープに対してのみ変数を宣言していますif

別のアプローチは、それらをリストにプッシュすることです。たとえば、次のようになります。

var selected = new List<string>();
if (condition1 == true) selected.Add("dog");
if (condition2 == true) selected.Add("cat");
if (condition3 == true) selected.Add("mouse");
if (condition4 == true) selected.Add("crab");

console.WriteLine(string.Format("Animal Type: {0}", string.Join(", ", selected.ToArray()))); // print to output
于 2013-08-30T11:40:46.557 に答える