0

4,000 行のコードを VB.net から C# に変換しました...この 1 つの問題で完全につまずきました。これにより、「割り当て、呼び出しインクリメント、デクリメント、待機、および新しいオブジェクト式のみをステートメントとして使用できる」というエラーが表示され続けます

ここでエラーが何であるかについて何か助けはありますか? また、クエリ本体が select 句または group 句で終了する必要があるというエラーがスローされます。

protected static string AssembleArgumentString(Dictionary<string, string> @params,   bool urlEncode)
{
   if (urlEncode) {
     return string.Join("&", (from kv in @params where !string.IsNullOrEmpty(kv.Value)kv.Key + "=" + System.Web.HttpUtility.UrlEncode(kv.Value)).ToArray);
   } 
   else {
     return string.Join("&", (from kv in @params where !string.IsNullOrEmpty(kv.Value)kv.Key + "=" + kv.Value).ToArray);
   } 
 }
4

2 に答える 2

1
protected static string AssembleArgumentString(Dictionary<string, string> @params,   bool urlEncode)
{
    if (urlEncode)
    {
        return string.Join("&", (from kv in @params where !string.IsNullOrEmpty(kv.Value)
                                 select kv.Key + "=" + System.Web.HttpUtility.UrlEncode(kv.Value)));

    }
    else
    {
        return string.Join("&", (from kv in @params where !string.IsNullOrEmpty(kv.Value)
                                 select kv.Key + "=" + kv.Value));
    } 
}
于 2012-08-17T21:30:28.003 に答える
1

selectLINQ クエリに句が必要です。例えば:

return string.Join("&", (from kv in @params where !string.IsNullOrEmpty(kv.Value) select kv.Key + "=" + kv.Value).ToArray());

また、メソッド呼び出し()の最後に を忘れないでください。も取ることができるのでToArray、実際には も必要ありません。ToArray()String.Join()IEnumerable

于 2012-08-17T21:30:36.780 に答える