我有4個布爾參數,用於清理使用Nport從比例中獲得的字符串。我不得不這樣做在框架3.5 VS 2008如何在C#中以方便的方式處理多個輸入組合
我有16個可能的輸入組合:
- 真真真真
- 真真真假
- 真真假真
- 真true false false
- true false true true
- true false true false
- 真的假的假的真
- 真假假假
- 假假真真真真
- 假真真假
- 假真假真
- 假的真虛假
- 假假真真
- false false false false
- false false false true
- false false false fa lse
對於每種情況,我必須對該字符串執行不同的操作。
但是,如何不寫許多交織if
和else
子句? 我可以在屏幕上打印出來,但根據我的說法,一個開關不可能出現問題,並且框架3.5中尚不存在元組。
public void CompositionBooleans(string result, int counter)
{
if (counter == 0)
return;
bool[] booleans = new bool[2] { true, false };
for (int j = 0; j < 2; j++)
{
StringBuilder stringBuilder = new StringBuilder(result);
stringBuilder.Append(string.Format("{0} ", booleans[j].ToString())).ToString();
if (counter == 1)
Console.WriteLine(stringBuilder.ToString());
CompositionBooleans(stringBuilder.ToString(), counter - 1);
}
}
這是我用來打印出來的代碼。
但我需要這些情況,如果其他結構將採取永久性並且根本不靈活。 有誰知道如何做到這一點?
爲什麼不把布爾值數組傳遞給strig.format,它接受一個對象[]。但是,也許我錯誤地理解了這一點,而這並不是你所追求的。 –
我會檢查這一點。作爲我需要的一個例子,我可以說如果startchar = 3和stopchar = 2被填充而其他2是空的。我有真,假,假,真。然後從startchar到stopchar的子字符串。 – user3497156