[英]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" />
Primarily the MID and dictionary usage are unfamiliar to me. 首先,我对MID和字典的用法不熟悉。 Can this be completely converted to C#?
可以将其完全转换为C#吗?
StringDictionary
is just another collection class so no problem. StringDictionary
只是另一个集合类,因此没有问题。 Mid
could still be used as Microsoft.VisualBasic.Mid()
if you're willing to import the Visual Basic library to your C# app (nothing bad about that) or it could be rewritten fairly easily. 如果您愿意将Visual Basic库导入到C#应用程序(没什么不好的话
Microsoft.VisualBasic.Mid()
Mid
仍可以用作Microsoft.VisualBasic.Mid()
,或者可以很容易地重写它。
Edit: Actually, the VB.Net code just seems to use the Mid
in the same way as you can use String.Substring
so no need to use the Visual Basic library even. 编辑:实际上,VB.Net代码似乎只是使用
Mid
以同样的方式,你可以使用String.Substring
所以甚至不需要使用Visual Basic库。 (I was thinking of Mid in VB6 that could be either a function or a statement, the function is similar to String.Substring but there's no real easy way to replicate it if it's the statement one but either way, doesn't matter for this code). (我想到VB6中的Mid可能是函数或语句,该函数类似于String.Substring,但是如果是语句,则没有真正简单的方法可以复制它,但是无论哪种方式都无关紧要码)。
Have you tried using the Telerik Converter ? 您是否尝试过使用Telerik Converter ? I ran your stuff through there and didn't get any errors.
我在那儿跑了你的东西,没有任何错误。
Yes. 是。 Use one of the converter tools mentioned here;
使用此处提到的一种转换器工具; only run through the code though, and not the markup parts of it.
虽然只运行代码,但不运行标记部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.