変数に操作+, -, *, /, %, ^
を実行する必要があるプロジェクトのような電卓を作成しています。標準操作のタイプはvar1 OP var2
です。私は実行時に両方の変数の型を持っています。これはInt64
またはdouble
です。実行時に変数をintに変換して操作する
私はそれらを両方ともdoubleに変換して計算することができますが、両方の変数が整数の場合(そうでない場合は両方をdoubleに変換する)、整数ベースの計算を行う方が好きです。これは私が(私は単にオペレータを変更する必要があります)不必要な冗長性を作成し、何度も同じ/似たコードを使用して、原因複数の操作に、
if (container1.vType == Interop.variableType.DOUBLE || container2.vType == Interop.variableType.DOUBLE)
return Convert.ToDouble(container1.value) + Convert.ToDouble(container2.value);
return (Int64)container1.value + (Int64)container2.value;
しかし(追加用)これまで持っているものです。
したがって、どのようにして高性能と最小/冗長性の両方を備えていますか?
コンテナの時刻タイプはどのようなものですか? – Vikhram
これはオブジェクトです – Crimson7
あなたは何か不必要な冗長性を持っていますか?また、container1.valueとcontainer2.valueにはどのようなことがありますか?彼らは文字列ですか? int64?ダブル? Convert.ToDoubleは、文字列をdoubleに変換するために使用されます。一方(Int64)はキャストしているだけです。値が文字列の場合は、変換を使用する必要があります。しかし、値がintまたはdoubleの場合、それをキャストできます。 – kurakura88