\a
является escape sequence
, который представляет собой предупреждение о звонках на символьных константах. На Console.Beep()
метод объяснения от MSDN:Выполняют ли « a» и метод Console.Beep() один и тот же сигнал?
Воспроизведение звука звукового сигнала через динамик консоли.
Давайте рассмотрим этот пример кода:
public static void Main(string[] args)
{
Console.WriteLine("\a");
Console.Beep();
}
Этот код создает 2 звуковых сигнала, и они же звучит для меня. Теперь мне нужно увидеть доказательство.
Когда я декомпилировать метод Console.Beep()
, он использует Win32Native.Beep
из kernel32.dll;
public static void Beep(int frequency, int duration)
{
Win32Native.Beep(frequency, duration);
}
Их частота и длительности могут быть разными, я ничего об этих вещах не говорю, но их источники одинаковы (Win32Native.Beep
)? Какой источник делает \a
использовать для звонок оповещения?
Я бы сказал, что они разные, поскольку '\ a' не является чем-то, что вы можете предоставить для частоты или продолжительности. Конечно, ОС может вызывать тот же код под капюшонами с жестко закодированными значениями, когда они представлены с помощью '\ a'. – Oded
Однако, скорее академический, нет? Не настоящая проблема, с которой вы сталкиваетесь, а? – Oded
@Oded Да, это не проблема, с которой я столкнулся, но мне всегда интересно, есть они или нет. Конечно, '\ a' не имеет частоты или продолжительности, но я предпочитаю доказательство, просто называя их _different_. –