0
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は、演算子「+」をタイプ「文字列」およびメソッドグループのオペランドに適用できないと文句を言います。

それらの文字列を連結したいだけです。どうやってやるの?前もって感謝します

4

6 に答える 6

1

一つの質問:

文字列値を繰り返し、string.Nameを連結しています。文字列にプロパティ「Name」が付加されているとは思いません。

于 2012-11-28T10:59:44.563 に答える
0

これdriveは実際には関数だと思います。その場合は、次のように呼び出す必要があります。

 "\t<li class=\"directory collapsed\"><a href=\"#\" rel=\"" + drive() + di_child.Name + "/\">" + di_child.Name + "</a>\n"
于 2012-11-28T10:56:25.440 に答える
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));
}
于 2012-11-28T10:57:43.457 に答える
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"
于 2012-11-28T10:55:48.107 に答える
0

エラーメッセージは、driveまたはdi_child.Nameが文字列ではなくメソッドであるために発生します。

foreachループでは、であると宣言しdi_childており、の有効なプロパティではありません。stringNamestring

ドライブの種類を確認できますか?関数の場合は、として使用する必要があるかもしれませんdrive()

問題は、コンパイラが名前に拡張メソッドを使用していて、di_child代わりに使用する必要があるために実際に発生する可能性がありますdi_child.Name

于 2012-11-28T11:06:05.927 に答える
0

コメントの1つで、ドライブは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を使用する方が適切です。

于 2012-11-28T11:14:57.183 に答える