Лучшие практики для использования в C#

Можно сделать следующее:

#!/bin/bash
cd /your/project/directory
# start another shell and replacing the current
exec /bin/bash

РЕДАКТИРОВАНИЕ: Это могло быть 'отмечено точкой' также, для предотвращения создания последующих оболочек.

Пример:

. ./previous_script  (with or without the first line)
8
задан Scott Davies 19 July 2009 в 10:09
поделиться

8 ответов

На самом деле, этого почти всегда стоит избегать. Основное допустимое время, когда это может быть полезно, - это при работе с внешней библиотекой (с другого языка), которая имеет класс / etc, который является ключевым словом C #, но я признаю, что у меня есть никогда никогда не сталкивался с этой проблемой. Помогает то, что C # позволяет вам переименовывать имена аргументов методов при переопределении / реализации интерфейсов, чтобы избежать одного общего набора случаев.

Другое (возможно, ленивое) использование - в генерации кода; Если вы всегда добавляете префикс к полям / переменным / и т. д. с помощью @theName, вам не нужно беспокоиться об особых случаях. Лично я просто проверяю список ключевых слов / контекстных ключевых слов C # и добавляю что-то вроде подчеркивания.

Другое использование символа @ (дословные строковые литералы) - @ "

18
ответ дан 5 December 2019 в 04:38
поделиться

Как отмечали другие, @ -quoting может быть очень полезен со строками. Вот несколько примеров:

 // Not having to escape backslashes.
String a = @"C:\Windows\System32";

// Escaping quotes.
String b = @"The message is ""{0}"".";

// String with embedded newlines.
String c = @"An error occured.
Please try again later.
";
4
ответ дан 5 December 2019 в 04:38
поделиться

Я использовал его в представлениях asp.net MVC, где вы определяете класс css с помощью HtmlHelper.

<%= Html.TextBox("Name", null, new { @class = "form-field" }) %>
17
ответ дан 5 December 2019 в 04:38
поделиться

Я думаю использовать зарезервированные ключевые слова в качестве имен переменных - плохая идея. ИМХО это делает код менее читабельным. Хотя есть случаи, когда это может пригодиться. Например, в представлении ASP.NET MVC вы можете написать:

<%= Html.TextBox("name", new { @class = "some_css_class" }) %>
4
ответ дан 5 December 2019 в 04:38
поделиться

Я использовал и видел, как он используется только со строками, например:

string name=@"some funny name";
1
ответ дан 5 December 2019 в 04:38
поделиться

Никогда не знал об этом, но из того, что вы говорите, я бы избежать этого.

Я использую @ в C # только для предварительно отформатированных строк.

@"String\no\need\to\escape\slashes"
1
ответ дан 5 December 2019 в 04:38
поделиться

Вы можете безопасно избежать всего, что создает путаницу. : -)

Единственное место, где я использую @, - это строки. Преимущество @ -quoting заключается в том, что escape-последовательности не обрабатываются, что упрощает запись, например, полного имени файла:

@ "c: \ Docs \ Source \ a.txt" // вместо "c: \\ Docs \\ Source \\ a.txt"

1
ответ дан 5 December 2019 в 04:38
поделиться

Я избегаю этого, за исключением методов расширения, где я думаю, что это улучшает читаемость:

public static void Foo(this object @this)
{
     Console.WriteLine(@this.ToString());
}
0
ответ дан 5 December 2019 в 04:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: