0

私にとって便利な次のC#コードを見つけました:

public partial class Default2 : System.Web.UI.Page 
  { 
    protected void Page_Load(object sender, EventArgs e) 
    { 
        if (Session["EID"] != null) 
        { 
            int EmpID = (int)Session["EID"]; 

            DataClassesDataContext dc = new DataClassesDataContext(); 
            var empInfo = from emp in dc.EmployeeLogins 
                          where emp.EmployeeID == EmpID 
                          select new
                          { 
                                     emp.EmployeeLoginKey, 
                                     emp.EmployeeID, 
                                     emp.username, 
                                     emp.passwd 
                          }; 

           foreach (var v in empInfo) 
           { 
               lblID.Text = v.EmployeeID.ToString(); 
               lblLoginKey.Text = v.EmployeeLoginKey.ToString(); 
               lblPassword.Text = v.passwd.ToString(); 
               lblUserName.Text = v.username.ToString(); 

            } 
       } 
       else 
       { 
           Response.Redirect("Default.aspx"); 
        } 
    } 
} 

vb に変換されたオンライン コンバーターを使用していましたが、プログラムをコンパイルすると、次の文のエラーが返されます。

For Each v As var In empInfo

var を c# から vb に変換する方法は?

4

4 に答える 4

2

型宣言をスキップするだけです: For Each v In empInfo.

設定しておく必要がありOption Infer Onます。

正式なFor Eachステートメントの構文は、MSDN で次のように説明されています。

For Each element [ As datatype ] In group
    [ statements ]
    [ Continue For ]
    [ statements ]
    [ Exit For ]
    [ statements ]
Next [ element ]
于 2013-03-15T07:44:00.113 に答える
0

試してみてください

foreach (Dim v in empInfo) 
                lblID.Text = v.EmployeeID.ToString()
                lblLoginKey.Text = v.EmployeeLoginKey.ToString()
                lblPassword.Text = v.passwd.ToString()
                lblUserName.Text = v.username.ToString()
 Next

ページの上部に以下の行を追加することを忘れないでください

Option Strict On
Option Infer On
于 2013-03-15T07:56:12.377 に答える
0

このコードで試してください:

For Each Dim item In empInfo
于 2013-03-15T07:43:37.133 に答える
0
For Each v In empInfo

VB に変数の型を推測させるには、As句を省略します。

Dim a = b + c

注:これは が の場合にのみ機能しOption InferますOnOption Inferisの場合Off、型指定子のない変数はObject代わりにデフォルトになります。

于 2013-03-15T07:48:41.487 に答える