サブストリングメソッドに問題があり、このエラーが発生します。
「インデックスと長さは、文字列内の場所を参照する必要があります。」「パラメータ名:長さ」
string[] nombre = item.Split(new char[]{' '});
this.listBox5.Items.Add(nombre[0].Substring(0,2).ToUpper()+nombre[1].Substring(0,1));
これは、渡す値がSubstring
、呼び出されている文字列に対して無効であることを意味します。例えば:
string s = "hello";
string x = s.Substring(0, 1); // <-- This is fine (returns "h")
string y = s.Substring(1, 3); // <-- Also fine (returns "ell")
string z = s.Substring(5, 3); // <-- Throws an exception because 5 is passed
// the end of 's' (which only has 5 characters)
余談ですが、私はこれをよく見ます:
item.Split(new char[]{' '})
Split
メソッドのシグネチャに人々は混乱していると思います。以下で十分です。
item.Split(' ')