foreach (string di_child in dirs) {
Response.Write("\t<li class=\"directory collapsed\"><a href=\"#\" rel=\"" + drive + di_child.Name + "/\">" + di_child.Name + "</a>\n");
}
VS抱怨运营商&#39; +&#39;不能应用于&#39; string&#39;类型的操作数和方法组。
我只想连接这些字符串。我怎样才能做到这一点? 提前致谢
答案 0 :(得分:1)
一个问题:
您正在迭代字符串值并连接string.Name。我不认为字符串附加任何属性“名称”。
答案 1 :(得分:0)
你可以简单地使用StringBuilder.Append()
,如下所示: -
StringBuilder sb = new StringBuilder();
sb.Append(someString);
或试试这个:
"\t<li class=\"directory collapsed\"><a href=\"#\" rel=\"" + drive() + di_child.Name + "/\">" + di_child.Name + "</a>\n"
答案 2 :(得分:0)
我怀疑drive
实际上是一个函数,在这种情况下你应该像这样调用它:
"\t<li class=\"directory collapsed\"><a href=\"#\" rel=\"" + drive() + di_child.Name + "/\">" + di_child.Name + "</a>\n"
答案 3 :(得分:0)
试试这个:
foreach (string di_child in dirs) {
Response.Write(String.Format("\t<li class=\"directory collapsed\"><a href=\"#\" rel=\"{0}{1}/\">{2}</a>\n",drive,di_child.Name,di_child.Name));
}
答案 4 :(得分:0)
出现错误消息是因为drive
或di_child.Name
是方法而不是字符串。
在您的foreach循环中,您宣布di_child
为string
且Name
不是string
的有效属性。
您能确认驱动器的类型吗?如果它是一个函数,您可能需要将其用作drive()
。
问题可能实际上是因为编译器使用扩展方法进行名称,您只需使用di_child
而不是di_child.Name
答案 5 :(得分:0)
您在其中一条评论中说驱动器是DriveInfo局部变量
给di_chld是一个字符串变量,并且假设DriveInfo类有一个Name属性,我猜你在错误的东西上调用.Name所以我猜你应该有这个:
Response.Write("\t<li class=\"directory collapsed\"><a href=\"#\" rel=\"" + drive.Name + di_child + "/\">" + di_child + "</a>\n");
正如有些人所建议的那样,使用String.Format或StringBuilder进行字符串连接通常会更好