C# название метода переменной

306
09 декабря 2016, 09:00

Хочу сделать класс с методами букв алфавита. вот что вышло:

public class Sort {
        string[] a = new string[100000]; string[] b = new string[100000]; string[] c = new string[100000];
        string[] d = new string[100000]; string[] e = new string[100000]; string[] f = new string[100000];
        string[] g = new string[100000]; string[] h = new string[100000]; string[] i = new string[100000];
        string[] j = new string[100000]; string[] k = new string[100000]; string[] l = new string[100000];
        string[] m = new string[100000]; string[] n = new string[100000]; string[] o = new string[100000];
        string[] p = new string[100000]; string[] q = new string[100000]; string[] r = new string[100000];
        string[] s = new string[100000]; string[] t = new string[100000]; string[] u = new string[100000];
        string[] v = new string[100000]; string[] w = new string[100000]; string[] x = new string[100000];
        string[] y = new string[100000]; string[] z = new string[100000];
        string field;
    }

Теперь я хочу к ним обращаться по первой букве со строки. К примеру:

data_sort.((data_sort[i]).Substring(0, 1))[i] = "no";

Возможно ли такое на C#?

Answer 1

(Вынесено из комментариев)

Проще всего воспользоваться Dictionary<char, List<string>>. Это даст вам возможность искать по первой букве, а также использует List<string> динамического размера, вместо огромного статически выделенного массива string[100000].

Ваш пример кода будет выглядеть как-то так:

char firstLetter = word[0];
List<string> words = dict[firstLetter];
words[i] = "no";
READ ALSO
Массив Label C#

Массив Label C#

У меня есть на форме 3 label'аЯ хочу все эти label'ы поместить в массив так, чтобы потом в цикле можно было делать что-то типа такого: (приложение...

396
Как добавить элемент в ListBox в WPF?

Как добавить элемент в ListBox в WPF?

У меня не получается добавить элемент в ListBox по нажатию кнопки:

650
Асинхронное чтение из сокета (C#)

Асинхронное чтение из сокета (C#)

Необходимо асинхронно читать данные из сокета (NetworkStream) и выполнять действия в зависимости от считанных данныхВ бескрайних просторах интернета...

444