簡體   English   中英

如何將Var從C#轉換為VB?

[英]How to convert Var from C# to VB?

我找到了以下對我有用的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?

只需跳過類型聲明: For Each v In empInfo

您必須設置Option Infer On

Formal For Each語句語法在MSDN上描述如下:

For Each element [ As datatype ] In group
    [ statements ]
    [ Continue For ]
    [ statements ]
    [ Exit For ]
    [ statements ]
Next [ element ]

嘗試使用此代碼:

For Each Dim item In empInfo
For Each v In empInfo

要讓VB推斷變量類型,只需省略As子句,例如

Dim a = b + c

注意:這僅在Option InferOn Option InferOff ,沒有類型說明符的變量將默認為Object

試試吧

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM