私はこのコードを持っています:
BigInteger lhs = new BigInteger(0);
BigInteger rhs = new BigInteger(0);
bool isLeftHandSide = true;
for (int i = 0; i < txtResult.Text.Length; i++)
{
char currentCharacter = txtResult.Text[i];
if (char.IsNumber(currentCharacter))
{
char currentCharacter = txtResult.Text[i];
if (isLeftHandSide)
{
lhs += (int)char.GetNumericValue(currentCharacter);
}
else
{
rhs += (int)char.GetNumericValue(currentCharacter);
}
}
}
代わりに現在の側への参照を格納して、代わりにその変数を操作し、ifおよびelseステートメントを削除する方法があるかどうか疑問に思いました。安全でないコードコンテキストを使用せずにこれを実行できるようにしたいと思います。
これを置き換えるようなもの:
if (isLeftHandSide)
{
lhs += (int)char.GetNumericValue(currentCharacter);
}
else
{
rhs += (int)char.GetNumericValue(currentCharacter);
}
これとともに:
currentSide += (int)char.GetNumericValue(currentCharacter);
ここで、currentSideはlhsまたはrhsのいずれかへの参照です。それらは構造体であるため、データをコピーするだけでなく、それへの参照を保持する方法がわかりません。
ありがとう。