だから、私はINIファイルから読み取るこの関数を持っています:
private void GetRigInfo()
{
RigInfo = new string[9];
var fileLocation = new string[2];
// The problem is that there's no telling where the hddrigsite.ini will be
stored. So, we have to find out where it is from the hddconfig.ini.
Log("Locating rig info");
// There's no telling if this will be on a 32 or 64 bit OS. Check for both
var rigInfoLocation = File.ReadAllLines(Environment.Is64BitOperatingSystem ?
@"C:\Program Files (x86)\HDD DrillView\hddconfig.ini" :
@"C:\Program Files\HDD DrillView\hddconfig.ini");
// This should get us the location of the rigsite info we need.
foreach (var s in rigInfoLocation.Where(s => s.Contains("data_dir")))
{
fileLocation = s.Split('=');
}
RigInfo = File.ReadAllLines(fileLocation[1] + "\\hddrigsite.ini");
Log("Rig info found");
}
ここで、ステップスルーLog()
して関数の最後に到達し、カーソルを合わせるとRigInfo
、VisualStudioインテリセンスが表示しますRigInfo{string[30]}
。今、私はそれ= new string[9]
が9要素の配列を作成することを常に理解しています。では、なぜ30個の要素を持つことが許可されているのでしょうか。プログラムを実行すると、この配列に関してエラーなどは発生しません。実際のところ、それは私が物事の全体的なスキームで必要とするように機能します。これがどのように、そしてなぜそうなっているのかを理解するのに役立つすべての助けに感謝します。視覚的な補助のためにスクリーンショットも添付しました。