[英]User Control VB.Net script Conversion to C#
<script language="VB" runat="server">
Public Data As String = ""
Public Height As Byte = 25
Public WidthMultiplier As Byte = 1
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Dim dictEncoding As StringDictionary
Dim sbBarcodeImgs As StringBuilder
Dim strEncodedData As String
Dim I As Integer
dictEncoding = New StringDictionary()
dictEncoding.Add("0", "101001101101")
dictEncoding.Add("1", "110100101011")
dictEncoding.Add("2", "101100101011")
dictEncoding.Add("3", "110110010101")
dictEncoding.Add("4", "101001101011")
dictEncoding.Add("5", "110100110101")
dictEncoding.Add("6", "101100110101")
dictEncoding.Add("7", "101001011011")
dictEncoding.Add("8", "110100101101")
dictEncoding.Add("9", "101100101101")
dictEncoding.Add("A", "110101001011")
dictEncoding.Add("B", "101101001011")
dictEncoding.Add("C", "110110100101")
dictEncoding.Add("D", "101011001011")
dictEncoding.Add("E", "110101100101")
dictEncoding.Add("F", "101101100101")
dictEncoding.Add("G", "101010011011")
dictEncoding.Add("H", "110101001101")
dictEncoding.Add("I", "101101001101")
dictEncoding.Add("J", "101011001101")
dictEncoding.Add("K", "110101010011")
dictEncoding.Add("L", "101101010011")
dictEncoding.Add("M", "110110101001")
dictEncoding.Add("N", "101011010011")
dictEncoding.Add("O", "110101101001")
dictEncoding.Add("P", "101101101001")
dictEncoding.Add("Q", "101010110011")
dictEncoding.Add("R", "110101011001")
dictEncoding.Add("S", "101101011001")
dictEncoding.Add("T", "101011011001")
dictEncoding.Add("U", "110010101011")
dictEncoding.Add("V", "100110101011")
dictEncoding.Add("W", "110011010101")
dictEncoding.Add("X", "100101101011")
dictEncoding.Add("Y", "110010110101")
dictEncoding.Add("Z", "100110110101")
dictEncoding.Add("-", "100101011011")
dictEncoding.Add(":", "110010101101")
dictEncoding.Add(" ", "100110101101")
dictEncoding.Add("$", "100100100101")
dictEncoding.Add("/", "100100101001")
dictEncoding.Add("+", "100101001001")
dictEncoding.Add("%", "101001001001")
dictEncoding.Add("*", "100101101101")
strEncodedData = dictEncoding("*") & "0"
For I = 1 To Len(Data)
strEncodedData = strEncodedData & dictEncoding(Mid(Data, I, 1)) & "0"
Next I
strEncodedData = strEncodedData & dictEncoding("*")
sbBarcodeImgs = New StringBuilder()
For I = 1 To Len(strEncodedData)
If Mid(strEncodedData, I, 1) = "1" Then
sbBarcodeImgs.Append("<img src=""images/bar_blk.gif"" width=""" & WidthMultiplier & """ height=""" & Height & """ />")
Else
sbBarcodeImgs.Append("<img src=""images/bar_wht.gif"" width=""" & WidthMultiplier & """ height=""" & Height & """ />")
End If
Next I
litBarcode.Text = sbBarcodeImgs.ToString
End Sub
</script>
<asp:Literal ID="litBarcode" runat="server" />
首先,我對MID和字典的用法不熟悉。 可以將其完全轉換為C#嗎?
StringDictionary
只是另一個集合類,因此沒有問題。 如果您願意將Visual Basic庫導入到C#應用程序(沒什么不好的話Microsoft.VisualBasic.Mid()
Mid
仍可以用作Microsoft.VisualBasic.Mid()
,或者可以很容易地重寫它。
編輯:實際上,VB.Net代碼似乎只是使用Mid
以同樣的方式,你可以使用String.Substring
所以甚至不需要使用Visual Basic庫。 (我想到VB6中的Mid可能是函數或語句,該函數類似於String.Substring,但是如果是語句,則沒有真正簡單的方法可以復制它,但是無論哪種方式都無關緊要碼)。
您是否嘗試過使用Telerik Converter ? 我在那兒跑了你的東西,沒有任何錯誤。
是。 使用此處提到的一種轉換器工具; 雖然只運行代碼,但不運行標記部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.