Я в настоящее время только 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 [string]' имеет недопустимые аргументы
Ошибка 2 Аргумент '1': невозможно преобразовать из 'char' в 'string'
Я использовал Char вместо String, потому что если использовать String, он вернет всю строку загруженной строки, iпросто хочет вернуть первую букву строки
, например: data = A1: 000001100000000110000000111000000011100000001
если использовать строку, она вернет всю строку, я просто хочу, чтобы она возвратила 'A'
НОВАЯ ИДЕНТИФИЦИРОВАННАЯ ПРОБЛЕМА: когда я ввожу данные, я помещаю данные в клавишу «А1», которая объясняет, почему я использую строку, поэтому, когда она не нашла «А1», потому что это символ, она просто находит «А».'вот почему он вернул'? ', возможно ли, если я использую строку n, просто прочитал первый символ, который является' A 'в строке?