Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3735667
А
Аноним
16 октября 2026 13:02 · публичный вопрос
А
Аноним

Как в c# сделать невидимый знак

Нейросеть16 октября 2026 13:02

Краткий ответ: в C# невидимый знак — это обычный Unicode-символ, его вставляют в строку кодом \uXXXX.

Чаще всего используют zero-width space U+200B:

string s = "привет\u200Bмир";
char невидимка = '\u200B';

Ключевые шаги:

  1. Принцип: строка в C# — это набор Unicode-символов. «Невидимых» клавиш нет, есть символы без видимого рисунка.
  2. Основные коды:
    • \u200B — пробел нулевой ширины, самый частый вариант
    • \u200C, \u200D — разделитель / соединитель нулевой ширины
    • \uFEFF — тоже невидимый, но лучше не использовать без нужды
    • \u00A0 — неразрывный пробел, выглядит как обычный пробел
  3. Как запомнить запись: \u + 4 шестнадцатеричные цифры номера символа в Unicode.
  4. Проверка: глазом его не видно, но длина строки растёт:
Console.WriteLine("привет".Length); // 6
Console.WriteLine("привет\u200B".Length); // 7
Console.WriteLine("привет\u200Bмир");

То есть визуально приветмир выглядит почти так же, но внутри между словами есть символ \u200B.

Обсуждение

6 сообщений
А
Аноним

Как в этой задаче сделать чтобы были 4 невидимых знака

А
Аноним

А как проверить, что символ реально есть в строке

Нейросеть16 октября 2026 13:11

Проверить наличие символа можно через Contains, а количество — через Count:

using System;
using System.Linq;

char невидимыйЗнак = '\u200B';

string text = "Привет" + new string(невидимыйЗнак, 4);

bool естьЗнак = text.Contains(невидимыйЗнак);
int количество = text.Count(c => c == невидимыйЗнак);

Console.WriteLine(естьЗнак);       // True
Console.WriteLine(количество);     // 4
Console.WriteLine(количество == 4); // True

Чтобы проверить код каждого символа в строке:

foreach (char c in text)
{
    Console.WriteLine($"U+{(int)c:X4}");
}

Для невидимого знака в выводе появится:

U+200B

Четыре невидимых знака можно добавить так:

string text = "Привет" + new string('\u200B', 4);
Нейросеть16 октября 2026 13:12

Внутри внутреннего цикла замени пустую строку на невидимый Unicode-символ:

for (int i = 1; i <= 1; i++)
{
    for (int j = 1; j <= 4; j++)
    {
        Console.Write("\u200B"); // невидимый знак U+200B
    }

    Console.WriteLine();
}

Цикл j выполнится 4 раза, поэтому выведутся 4 невидимых знака.

Текущая запись:

Console.Write($"");

выводит пустую строку, то есть не выводит ни одного символа. Символ \u200B визуально не виден, но фактически присутствует в строке.

А
Аноним

Реши 10 тем способом как на 1 фото

Нейросеть16 октября 2026 13:15

Для задания 10 используем вложенные циклы, как на первом фото:

using System;

class Program
{
    static void Main(string[] args)
    {
        for (int i = 5; i >= 1; i--)
        {
            for (int j = i; j <= 5; j++)
            {
                Console.Write(j);

                if (j < 5)
                    Console.Write(" ");
            }

            Console.WriteLine();
        }
    }
}

Пояснение:

  • внешний цикл задаёт первое число строки: 5, 4, 3, 2, 1;
  • внутренний цикл выводит числа от текущего i до 5;
  • Console.WriteLine() переходит на новую строку.

Результат:

5
4 5
3 4 5
2 3 4 5
1 2 3 4 5
как в c# сделать невидимый знак
Краткий ответ: в C# невидимый знак — это обычный Unicode-символ, его вставляют в строку кодом `\uXXXX`. Чаще всего используют zero-width space U+200B: ```csharp string s = "привет\u200Bмир"; char невидимка = '\u200B'; ``` Ключевые шаги: 1. **Принцип:** строка в C# — это набор Unicode-символов. «Невидимых» клавиш нет, есть символы без видимого рисунка. 2. **Основные коды:** - `\u200B` — пробел нулевой ширины, самый частый вариант - `\u200C`, `\u200D` — разделитель / соединитель нулевой ширины - `\uFEFF` — тоже невидимый, но лучше не использовать без нужды - `\u00A0` — неразрывный пробел, выглядит как обычный пробел 3. **Как запомнить запись:** `\u` + 4 шестнадцатеричные цифры номера символа в Unicode. 4. **Проверка:** глазом его не видно, но длина строки растёт: ```csharp Console.WriteLine("привет".Length); // 6 Console.WriteLine("привет\u200B".Length); // 7 Console.WriteLine("привет\u200Bмир"); ``` То есть визуально `приветмир` выглядит почти так же, но внутри между словами есть символ `\u200B`.