Подтвердить что ты не робот

Как сделать ярлык для Console.WriteLine

Мне нужно набирать Console.WriteLine() много раз в моем коде.. так может кто-нибудь сказать мне сделать ярлык для Console.WriteLine, как я могу использовать его как

CW=Console.WriteLine();
//After that i can use this CW for my Console.WriteLine() like
CW("Print Something");
4b9b3361

Ответ 1

Для этого Visual Studio уже имеет фрагмент кода по умолчанию. Просто введите cw и нажмите вкладку. Обратите внимание: если вы планируете использовать метод, возможно, ему не хватает некоторых функций, таких как автоматическая строка. Форматирование и другие перегруженные параметры.

Ответ 2

Если вы находитесь на .net 3.5 или новее:

Action<string> cw = Console.WriteLine;

cw("Print Something");

Ответ 3

Вы без сомнения могли бы создать фрагмент Visual Studio для него (хотя на самом деле там уже для cw, по-видимому, попробуйте!).

Я лично предположил бы, что вы не используете ярлык в коде - он может быть более ясным для всех, кто его читает, если он все еще говорит Console.WriteLine.

В зависимости от того, для чего это, может иметь смысл написать вспомогательный метод, называемый, скажем, Log, - который имеет разумный смысл, тогда как cw не делает.

(Если это для ведения журнала, рассмотрите возможность использования более мощного, например log4net.)

Ответ 4

Если вы хотите, чтобы он был глобальным, вы могли бы написать метод расширения:

public static class StringExtensions
{
   public static void ConLog(this string msg)
   {
     Console.WriteLine(msg);
   }
}

Теперь, где бы вы ни были, вы можете вызывать "My Message".ConLog(); в любой строке вашего приложения и записывать его на консоль.

Ответ 5

С# 6 добавляет функцию using static:

using static System.Console;

class Program {
  void Main(string[] args) {
     WriteLine("Hello, {0}!", "world");
  }
}

IntelliSense в Visual Studio 2015 понимает этот новый синтаксис.

Ответ 6

public static void CW(string str)
{
     Console.WriteLine(str);
}

Ответ 7

Напишите метод, который возвращает void и вызов, когда это требуется для Console.WriteLine()

void Log(string msg)
{
   Console.WriteLine(msg);
}

Ответ 8

Вы можете объявить статический метод для переноса вызова:

static class C
{
    static void W(string s)
    {
        Console.WriteLine(s);
    }
}

то

C.W("Print Something");

Я бы предпочел использовать рефакторинг "встроенного метода", прежде чем проверять любой код, вызывающий этот метод. Как отмечает Джон Скит, это менее запутывает просто использовать Console.WriteLine напрямую.

Ответ 9

Если у вас ReSharper, вы можете ввести out и Enter и строку

Console.Out.WriteLine("");

будет записано.

Если вы хотите вывести переменную, есть еще один живой шаблон: outv.

Console.Out.WriteLine("time = {0}", time);

Здесь время - это переменная, которую вы можете выбрать после ввода outv.

Ответ 10

Если вы пишете это в верхней части страницы

using j = System.Console;

то в любое время вы можете использовать

j.WriteLine("Anything you want to write");

А что все. Кстати, вы можете использовать что-либо вместо "j".

Ответ 11

Этот ярлык позволит избежать исключений, возникающих при использовании сложной форматирующей перегрузки типа Console.WriteLine(String, Object[]) и количества элементов формата в format, а количество элементов в списке аргументов args отличается:

public bool WriteToConsole(string format, params object[] args)
{           
    var succeeded = false;
    var argRegex = new Regex(@"\{\d+\}");
    if ((args != null) && (argRegex.Matches(format).Count == args.Length))
    {
        Console.WriteLine(format, args);
        succeeded = true;
    }
    else
    {
        Console.WriteLine(format);
    }
    return succeeded;
}

Ответ 12

// For formatting string and parameters define a function
// The shortcut function wl, kind of write line
public void wl( string format, params object[] parms){
    Console.WriteLine(format, parms);
}

// Just for strings we can use Action delegate
Action<string> ws = Console.WriteLine;

// examples:
ws("String with no formatting parameters");

wl("String without formatting parameters");
wl("String with {0} parameters {1}", 2, "included");
wl("several parameters {0} {1} {2} repeated {0}", 1234, 5678, 6543);

или используя метод расширения: formatString.wl(arguments...)

public static class ConsoleWriteExtensions
{
    public static void wl(this string format, params object[] parms){
        Console.WriteLine(format, parms);
    }
}

"{0} -> {1}".wl("Mili",123.45); // prints Mili -> 123.45

Ответ 13

просто введите: cw и дважды нажмите кнопку вкладок. Это на самом деле визуальный фрагмент кода студии для записи Console.WriteLine(); быстро. Так же, как вы набираете prop для объявления любого свойства в классе.

Ответ 14

Один из моих любимых тоже... Исходя из BASIC и Python... Я очень часто пропускал Print()... Я также широко использую Print() в JS/ES для консольных/других консолей...

Так объявите его как функцию:

public static void Print( object x ){ Console.WriteLine( x ); }
  • вы можете создавать строки по своему желанию в качестве параметра функции, например:
 Print( "Hi\n\n" + x.toString() + "\n\nBye!!!" );
  • или интерполировать vars по желанию.
Print( $"{x} ~ {y} ~ {z}" );