我知道这个一般话题以前在这里讨论过。我感兴趣的是我的具体情况是否有好的解决方案:
我有一个像这样的命令行工具(简化版):
static void Main(string[] args)
{
if (args.Length < 2)
{
Console.WriteLine("Usage: MyTool <InputFolder> <OutputFolder>");
return;
}
string inputFolder = args[0];
string outputFolder = args[1];
// ...
}
我为参数值分配名称以使代码更具可读性。还要声明,这些值以后不会修改。
const
和 readonly
都不能在这里使用,因为这些值在编译时是未知的,而且它们是局部“变量”而不是类成员。
那么我怎样才能使这段代码更具表现力和可读性呢?
最佳答案
我的建议是创建一个包含变量的类
public class Immutable
{
public Immutable(string[] args)
{
InputFolder = args[0];
OutputFolder = args[1];
}
public readonly string InputFolder;
public readonly string OutputFolder;
}
然后
var m = new Immutable(args)
关于c# - C# 中的不可变本地值 - 一个特定的用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53226428/