使用函数使代码更简单

时间:2018-03-14 05:34:39

标签: c#

我试图编写一个能够让我更快地更改控制台颜色的功能。 它会是这样的:

public static void setColor(string color)
    {
        Console.ForegroundColor = ConsoleColor.color;
    }

然后输入中间部分而不是键入中间部分,我只需输入setColor(蓝色)即可快速设置颜色。 这有可能吗?

2 个答案:

答案 0 :(得分:2)

我不知道“更快”对你来说意味着什么。但如果您觉得有必要这样做,那么您可能错误地使用了工具。

甚至忽略了这样一个事实:你不能传递字符串“blue”并让它在那里工作(因为它是一个字符串,而不是一段代码),写setColor("blue")比编写{Console.ForegroundColor = ConsoleColor.Blue更快。 {1}},即使您的打字速度非常慢。

不要创建额外的抽象层,除了保存非常非常少的击键外,什么都不做,学会使用你更好的工具。学习使用IDE的自动完成和智能感知,以便您可以开始键入“控制台”,查看intellisense匹配时,然后只需按.并开始输入“Foreground”并查看它需要多少个键抓住了(提示:很少)。

创建包装器方法的缺点是它掩盖了实际发生的事情(等待,是设置前景色还是背景色?)从现在起一个月,您可能不记得了。这意味着其他开发人员不会知道发生了什么 - 这可能是一个个人项目,但这是一个不好的习惯。这意味着这个方法现在需要在你编写的每个类中随处可用,这也很麻烦。

此方法几乎不添加任何内容。我会避免使用它,并寻找其他方法来“提高生产力” - 因为保存一些键击不是的方式。您作为开发人员的大部分时间都花在思考和查找上,而不是输入

答案 1 :(得分:0)

您可以使用Enum.Parse并只查找ConsoleColor Enumeration

中的颜色
  

指定定义前景色和背景色的常量   控制台。

<强>〔实施例

public static void setColor(string color)
{
    try
    {
         Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), color, true);
    }
    catch (Exception)
    {
        //catch error for an invalid color
    }
}