私はそうのような方法があります:"未割り当てのローカル変数の使用"エラーを抑制しますか?
public static long? FromIpv4ToLong(this string ipAddress)
{
var octets = ipAddress.Split(IpSplitChar);
if (octets.Length != 4) return null;
var success = long.TryParse(octets[0], out long a)
&& long.TryParse(octets[1], out long b)
&& long.TryParse(octets[2], out long c)
&& long.TryParse(octets[3], out long d);
if (!success) return null;
return ((16777216L * a) + (65536L * b) + (256L * c) + d);
}
...今、変数a
、b
、c
、およびd
は、彼らが参照されますポイントで「未割り当て」になることはありませんが、コンパイラはdoesnのをそのように見ることはできません。コンパイラに「とにかくそれを構築する」ように強制する方法はありますか?これらの値を事前に初期化するのは愚かなようです。
、これは無効IP4アドレスを受け付けます。 – Lee
私はオンライン広告交換の仕事をしています。 1秒あたり60〜100KのIPアドレスを処理しています.2桁のミリ秒の遅延SLAがあります。 'IPAddress.TryParse'は顕著な待ち時間を追加します。したがって、動詞です。私たちは、この種のものに対して、最も簡単で、最速で、最も効率的なアルゴリズムしか使用できません。 –