【发布时间】:2021-05-17 21:29:42
【问题描述】:
错误:使用未分配的局部变量“数据文件”
我知道这个问题被问了好几次,但我没有看到任何符合我要求的东西。请帮忙!
从以下代码检查文件是否存在,我收到以下错误,关于如何修复它的任何建议,我已经将 system.IO 包含在命名空间中
public void Main()
{
// TODO: Add your code here
string DataFilesLocation;
string[] DataFiles ;
DataFilesLocation = Dts.Variables["User::FolderPath"].Value.ToString();
if (DataFiles.Length > 0)
{
Dts.Variables["User::Flag"].Value = true;
}
Dts.TaskResult = (int)ScriptResults.Success;
}
提前感谢您的帮助。
【问题讨论】:
-
您没有为
DataFiles赋值,但您正在尝试使用它的Length字段。目前尚不清楚您希望DataFiles.Length测试什么,但也许您忘记为其赋值?也许使用Directory.GetFiles? (顺便说一句,我建议您遵循 C# 约定,以小写变量开头局部变量。) -
你没有初始化
DataFiles,编译器禁止你从它“获取”一个值,直到你这样做。此规则适用于方法中声明的所有(局部)变量。 -
有很多重复项可以解释为什么会出现这个错误,我真的很难相信你没有得到任何符合我要求的东西
-
谢谢乔恩,我把它改成了字符串dataFilesLocation;字符串 [] 数据文件;你能告诉我如何初始化吗?这是我检查文件夹中是否存在文件的代码,如果是则标记为真,否则退出。