Сортировка символов строки по алфавиту - C#
Формулировка задачи:
Здравствуйте! Вопрос детский, но никак не могу его решить. Есть 3 чекбокса, событие CheckedChanged для каждого имеет следующий вид:
В зависимости от последовательности выбора чекбоксов строка result будет иметь значение "ABC", "CAB","BAC","CA", "AC","BA" и т.д. Нужно, чтобы независимо от последовательности выбора строка result всегда была упорядочена по алфавиту и имела вид "ABC", "AC", "BC", "AB". Кроме того, нужно чтобы при снятии выделения с чекбокса из строки удалялась соответствующая ему буква, например: Было "ABC",стало "AC". Подскажите, как это реализовать? Заранее благодарен!
private void CheckBox7_CheckedChanged(object sender, EventArgs e)
{
CheckBox checkBox = (CheckBox)sender; // приводим отправителя к элементу типа CheckBox
if (checkBox.Checked == true)
{
result += "B"; // Запись в файл первого ответа
}
else
{
result= otvet.Replace("B", "");
}
}Решение задачи: «Сортировка символов строки по алфавиту»
textual
Листинг программы
// Событие происходит по нажатии на кпоку "Следующий вопрос" или "Готово" или еще что-то такое
private void publishAnswerBUTTON_Click(object sender, EventArgs e)
{
string answer = ""; // пустой овет
// Проверяем первый чекбокс
if (checkBox1.Checked == true)
{
// Если он помечен то строка answer станет равной "A"
answer += "A";
}
else
{
// Если не помечен, то ничего не добавляем
// и строка answer останется пустой
}
// Теперь, аналогично, добавим к строке answer буквы
// B C D (в алфавитном порядке)
// если нужные чекбоксы помечены
if (checkBox2.Checked) answer += "B";
if (checkBox3.Checked) answer += "C";
if (checkBox4.Checked) answer += "D";
// и сохраним в файл или куда еще
StoreAnswer(answer);
}