【问题标题】:rename a function in C#在 C# 中重命名函数
【发布时间】:2013-09-05 14:36:54
【问题描述】:

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

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

这是什么课程?命名空间?我是在标题中还是在 main 内部执行此操作?

【问题讨论】:

  • 你为什么需要那个?
  • 不,但你可以只使用 C 而不是 C#。
  • 你为什么要这样做?为什么不添加一个包装类来做到这一点?
  • 为什么不直接使用您要使用的相关名称创建一个函数。但请注意,任何以小写字母开头的函数名都不是 c# 约定,因此如果您要走这条路线,请使用 Printf。
  • 在其他新闻中,请在 thedailywtf.com 上寻找未来的帖子!

标签: c# console terminal printf


【解决方案1】:

写一个包装器:

public string printf(string theString)
{
  System.Console.WriteLine(theString);
}

【讨论】:

  • ...你忘了// warning to future programmers: Prepare to be confused :)
  • 显然 OP 需要这个链接:thc.org/root/phun/unmaintain.html(抱歉,提前,我浪费了任何开发人员的早晨/一天,因为他们去阅读了这个。)
【解决方案2】:

您可以使用代码 sn-ps:http://msdn.microsoft.com/en-us/library/ms165392.aspx 你可以自己写。

我认为 Visual Studio 默认有几个,比如写 cw 和点击 TAB 得到 System.Console.WriteLine

编辑 以下是默认 VS 代码 sn-ps 的列表:http://msdn.microsoft.com/en-us/library/z41h7fat(v=vs.90).aspx

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

【讨论】:

  • +1 假设这个问题是为了避免击键,而不仅仅是对 C 有感伤。
【解决方案3】:

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

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

注意:上述方法只适用于你编写上述方法的类。

【讨论】:

    【解决方案4】:

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

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

    更多信息:C# : How C# 6.0 Simplifies, Clarifies and Condenses Your Code

    【讨论】:

      【解决方案5】:

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

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

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

      【讨论】:

        【解决方案6】:

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

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

        public string printf(string urstring)
        { 
        System.Console.WriteLine(urstring);
        }
        

        【讨论】:

          【解决方案7】:

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

          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();
          

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

          【讨论】:

            猜你喜欢
            • 2014-10-09
            • 2016-07-21
            • 1970-01-01
            • 2017-03-19
            • 1970-01-01
            • 1970-01-01
            • 2016-02-06
            • 2018-01-20
            • 2010-12-04
            相关资源
            最近更新 更多