当前位置:  开发笔记 > 编程语言 > 正文

是否有可能在C#中编写没有变量的程序?

如何解决《是否有可能在C#中编写没有变量的程序?》经验,为你挑选了1个好方法。



1> Servy..:

首先,首先,您当前的程序正在定义变量args.你不需要这样做,因为你不能声明变量.将声明更改Main为:

static void Main()
{
     //...
} 

您可以使用某种形式的外部状态来存储通常存储在变量中的任何值,例如,始终将值读取/写入文件:

File.WriteAllText("line.txt", Console.ReadLine());

if (double.Parse(File.ReadAllText("line.txt")) < -2.0)
    Console.Write(2.0);
if ((double.Parse(File.ReadAllText("line.txt")) < -1.0)
    && (double.Parse(File.ReadAllText("line.txt")) >= -2.0))
    Console.Write(1.0);
if ((double.Parse(File.ReadAllText("line.txt")) < 0.0)
    && (double.Parse(File.ReadAllText("line.txt")) >= -1))
    Console.Write(0.0);
if ((double.Parse(File.ReadAllText("line.txt")) >= 0.0)
    && (double.Parse(File.ReadAllText("line.txt")) < 1.0))
    Console.Write(double.Parse(File.ReadAllText("line.txt")));
if (double.Parse(File.ReadAllText("line.txt")) >= 1.0)
    Console.Write(1.0);
File.Delete("line.txt");

您可以使用注册表值,获取/发布值到Web服务等来执行相同的操作.当然,这些都是非常低效的,但它是一个玩具示例.

当然,除了效率超低之外,这看起来也很混乱.通过使用方法,我们实际上可以使这个看起来更好看.我们的方法不能有任何参数,因为参数是变量,但是返回解析行的无参数方法在这里确实具有可读性的奇迹:

public static void Main()
{
    File.WriteAllText("line.txt", Console.ReadLine());

    if (GetValue() < -2.0)
        Console.Write(2.0);
    if (GetValue() < -1.0 && GetValue() >= -2.0)
        Console.Write(1.0);
    if (GetValue() < 0.0 && GetValue() >= -1)
        Console.Write(0.0);
    if (GetValue() >= 0.0 && GetValue() < 1.0)
        Console.Write(GetValue());
    if (GetValue() >= 1.0)
        Console.Write(1.0);
    File.Delete("line.txt");
}
public static double GetValue()
{
    return double.Parse(File.ReadAllText("line.txt"));
}

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有