Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 名为';表索引数据库&x27;已在此范围中定义_C# - Fatal编程技术网

C# 名为';表索引数据库&x27;已在此范围中定义

C# 名为';表索引数据库&x27;已在此范围中定义,c#,C#,我希望能够使用已定义的变量来创建新变量 Console.Write("Choose name for new table: "); string table = Console.ReadLine(); string inThisDatabase = new string(dataBases[chooseDatabase]); tables.Add(table); tableBelongTo.Add(inThisDatabase); 列表

我希望能够使用已定义的变量来创建新变量

Console.Write("Choose name for new table: ");
string table = Console.ReadLine();
string inThisDatabase = new string(dataBases[chooseDatabase]);
tables.Add(table);                             
tableBelongTo.Add(inThisDatabase);
列表已定义变量=新列表()

Console.Write("Choose name for new table: ");
string table = Console.ReadLine();
string inThisDatabase = new string(dataBases[chooseDatabase]);
tables.Add(table);                             
tableBelongTo.Add(inThisDatabase);
我想知道是否有解决办法

Console.Write("Choose name for new table: ");
string tables = Console.ReadLine();

string tablesInDatabases = new string($"{dataBases[chooseDatabase] + tables}");

List<string> tablesInDatabases = new List<string>();
Console.Write("Choose name for new table: ");
string table = Console.ReadLine();
string inThisDatabase = new string(dataBases[chooseDatabase]);
tables.Add(table);                             
tableBelongTo.Add(inThisDatabase);

这是不可能的。给他们起不同的名字——可能是为了描述他们正在做的不同的工作,因为一个列表正在对一个字符串做不同的工作

Console.Write("Choose name for new table: ");
string table = Console.ReadLine();
string inThisDatabase = new string(dataBases[chooseDatabase]);
tables.Add(table);                             
tableBelongTo.Add(inThisDatabase);
例如:

Console.Write("Choose name for new table: ");
string table = Console.ReadLine();
string inThisDatabase = new string(dataBases[chooseDatabase]);
tables.Add(table);                             
tableBelongTo.Add(inThisDatabase);
string numberOfTablesText = "...";
List<string> tableNames = new List<string>();
字符串numberOfTablesText=“…”;
List tableNames=新列表();

如果您想像普通变量一样使用它,那么答案是否定的。您的编译器如何知道要使用哪一个?顺便问一下,你是怎么用的

Console.Write("Choose name for new table: ");
string table = Console.ReadLine();
string inThisDatabase = new string(dataBases[chooseDatabase]);
tables.Add(table);                             
tableBelongTo.Add(inThisDatabase);

这样做只对局部变量可能,只要它们的生存期不相互干扰或不在不同的名称空间/类中,但即使您可以以某种方式使这项工作正常,您也确实不应该这样做。这不仅使代码不可读,而且很难理解,我向您保证,如果这个项目增长,您将得到大量的构建错误!至少可以调用变量,比如
sTablesInDatabases
lTablesInDatabases
(s代表字符串,l代表列表)

错误消息是不言自明的。tablesInDatabases变量已定义

Console.Write("Choose name for new table: ");
string table = Console.ReadLine();
string inThisDatabase = new string(dataBases[chooseDatabase]);
tables.Add(table);                             
tableBelongTo.Add(inThisDatabase);
Console.Write("Choose name for new table: ");
string tables = Console.ReadLine();

string tablesInDatabases = new string($"{dataBases[chooseDatabase] + tables}");

List<string> tablesAsList = new List<string>();
Console.Write(“为新表选择名称:”);
string tables=Console.ReadLine();
string tablesInDatabases=新字符串($“{dataBases[choostatestabase]+tables}”);
List tablesAsList=新列表();

检查错误是一个很好的参考。

不能在同一范围内两次声明同名变量。这听起来很像一个错误。为什么要这样做?我希望能够为我为特定数据库创建的每个新表创建一个新列表-我仍然是一个初学者,因为它明显地显示了将它重写到:Console.Write(“为新表选择名称:”);string table=Console.ReadLine();string inThisDatabase=新字符串(数据库[ChoostAbase]);表。添加(表);tableBelongTo.Add(在该数据库中);
Console.Write("Choose name for new table: ");
string table = Console.ReadLine();
string inThisDatabase = new string(dataBases[chooseDatabase]);
tables.Add(table);                             
tableBelongTo.Add(inThisDatabase);