現在、作業中のプログラムからわずか2エラーです。私はエラーとその変数の定義、そして最後にエラーを含む行を投稿します。どこが間違っているのか教えてください。ありがとうございました。文字列エラーへの文字列
private Dictionary<string, bool[]> letterData = new Dictionary<string, bool[]>();
public char[] mapNeurons()
{
char[] map = new char[this.letters.Items.Count];
for (int i = 0; i < map.Length; i++)
{
map[i] = '?';
}
for (int i = 0; i < this.letters.Items.Count; i++)
{
double[] input = new double[Form1.DOWNSAMPLE_HEIGHT * Form1.DOWNSAMPLE_WIDTH];
char ch = ((string)(this.letters.Items[i]))[0];
bool[] data = this.letterData[ch]; //line contains errors
for (int j = 0; j < input.Length; j++)
{
input[j] = data[j] ? 0.5 : -0.5;
}
int best = this.network.Winner(input);
map[best] = ch;
}
return map;
}
、ここではエラー
エラー1のための最良のオーバーロードされたメソッドが一致している 'System.Collections.Generic.Dictionary.this [文字列]は' 'いくつかの無効な引数
エラー2引数あり1 ':' char 'から' string 'に変換できません
文字列を使用すると、ロードされた文字列の行全体が返されるため、文字列の最初の文字を返すだけです。
例えば:データ=のA1:使用文字列は、それが全体の行が返されます場合000001100000000110000000111000000011100000001
が、私はちょうどそれが返すように望んでいる「」
NEW確認されている問題: 私はデータを入力したとき、私はなぜ私は文字列を使用する理由を説明する 'A1'キーにデータを入れて、それはそれがcharであるために 'A1'を見つけることができませんでした、それはちょうど 'A' thats ''を返した理由を見つける、 n文字列の中の最初の文字 'A'を読みますか?変更についてはどのように
if(this.letterData.ContainsKey(ch.ToString()))
bool[] data = this.letterData[ch.ToString()];
または
if(this.letterData.ContainsKey(ch.ToString()))
bool[] data = this.letterData[ch+""];
エラーの直後です。文字から文字列に変換できません。辞書が必要なのでしょうか? –
私はこの文字列の代わりに文字列 – hafizhans