1

有没有办法在 C# 中重命名 System.Console.WriteLine 以便在我的 C#/console/visual studio 程序中我可以编写

printf("hello");
//instead of 
System.Console.WriteLine("Hello");   //??

这会是什么,一堂课?命名空间?我是在标题中还是在主要内部执行此操作?

4

7 回答 7

7

写一个包装器:

public string printf(string theString)
{
  System.Console.WriteLine(theString);
}
于 2013-09-05T14:39:24.777 回答
5

您可以使用代码片段: http: //msdn.microsoft.com/en-us/library/ms165392.aspx 您可以随时编写自己的代码。

我认为 Visual Studio 默认有一些,比如写作cw和点击TAB获取System.Console.WriteLine

编辑 这里是默认 VS 代码片段的列表:http: //msdn.microsoft.com/en-us/library/z41h7fat (v=vs.90).aspx

您还可以使用 ReSharper 轻松编写自己的代码,就像我为这个所做的那样dw->Debug.WriteLine

在此处输入图像描述

于 2013-09-05T14:39:39.797 回答
3

你的目标看起来很奇怪,在 c# 中没有办法做到这一点。或者,您可以在类中添加一个方法并使用它。

private static void printf(string value)
{
    System.Console.WriteLine(value);
}

注意:上述方法仅适用于您编写上述方法的类。

于 2013-09-05T14:39:49.437 回答
2

C# 6.0 通过使用静态指令简化了这一点。System.Console.WriteLine(...)现在,您可以简单地输入:而不是输入所有这些:WriteLine(...)

在此处输入图像描述

using static System.Console;

namespace DemoApp
{
    class Program
    {
        static void Main(string[] args)
        {
            WriteLine("Hello");
        }
    }
}

更多信息:C#:C# 6.0 如何简化、澄清和浓缩您的代码

于 2016-09-08T19:05:47.223 回答
1

例如,您可以将代码包装在一个函数中

public void Printf(string message)
{
      System.Console.Writeline(message);
}

不建议您以小写字母(例如 printf)开始您的函数,因为这不是 ac# 约定。

于 2013-09-05T14:43:22.773 回答
1

首先,这样做不是一个好习惯。

但在编程上,这可以通过编写 Wraps 来实现。

public string printf(string urstring)
{ 
System.Console.WriteLine(urstring);
}
于 2013-09-05T14:46:54.997 回答
0

如果你想变得花哨,你可以这样做:

static class DemoUtil
{
    public static void Print(this object self)
    {
        Console.WriteLine(self);
    }

    public static void Print(this string self)
    {
        Console.WriteLine(self);
    }
}

那么它会变成:

"hello".Print();
12345.Print();
Math.Sin(0.345345).Print();
DateTime.Now.Print();

等等。我不建议将此用于生产代码 - 但我确实将其用于我的测试代码。我很懒。

于 2013-09-05T15:25:52.137 回答