hmahdavi921
یک شنبه 30 تیر 1398, 17:10 عصر
سلام
میخوام این کد رو به C# تبدیل کنم
آرایه ModBusCmdArr :
[1,6,4,49,0,50,56,248,0]
کد vb
Public Function CommandToSend() As String
Dim StrCmd As String = String.Empty
StrCmd = Convert.ToChar(ModBusCmdArr(0)) _
& Convert.ToChar(ModBusCmdArr(1)) _
& Convert.ToChar(ModBusCmdArr(2)) _
& Convert.ToChar(ModBusCmdArr(3)) _
& Convert.ToChar(ModBusCmdArr(4)) _
& Convert.ToChar(ModBusCmdArr(5)) _
& Convert.ToChar(ModBusCmdArr(6)) _
& Convert.ToChar(ModBusCmdArr(7))
Return StrCmd
End Function
خروجی :
ChrW(1) & ChrW(6) & ChrW(4) & "O" & vbNullChar & "28ø"
کد C# که خودم بهش رسیدم این کده :
public string CommandToSend()
{
string StrCmd = "";
StrCmd = (Convert.ToChar(ModBusCmdArr[0])
+ Convert.ToChar(ModBusCmdArr[1])
+ Convert.ToChar(ModBusCmdArr[2])
+ Convert.ToChar(ModBusCmdArr[3])
+ Convert.ToChar(ModBusCmdArr[4])
+ Convert.ToChar(ModBusCmdArr[5])
+ Convert.ToChar(ModBusCmdArr[6])
+ Convert.ToChar(ModBusCmdArr[7])).ToString();
return StrCmd;
}
خروجی :
444
ظاهرا درست تبدیل شده اما خروجی دو تابع برای مقادیر یکسان متفاوت هست!!!!!!!!!!!!!!!!!!!!!!!!!!!!
خروجی کد vb درست هست !!!!
خروجی متد Convert.ToChar در دو زبان کاملا متفاوت هست !!!
اگر دوستان اطلاعاتی در این مورد دارن لطفا راهنمایی کنند
با تشکر فراوان
میخوام این کد رو به C# تبدیل کنم
آرایه ModBusCmdArr :
[1,6,4,49,0,50,56,248,0]
کد vb
Public Function CommandToSend() As String
Dim StrCmd As String = String.Empty
StrCmd = Convert.ToChar(ModBusCmdArr(0)) _
& Convert.ToChar(ModBusCmdArr(1)) _
& Convert.ToChar(ModBusCmdArr(2)) _
& Convert.ToChar(ModBusCmdArr(3)) _
& Convert.ToChar(ModBusCmdArr(4)) _
& Convert.ToChar(ModBusCmdArr(5)) _
& Convert.ToChar(ModBusCmdArr(6)) _
& Convert.ToChar(ModBusCmdArr(7))
Return StrCmd
End Function
خروجی :
ChrW(1) & ChrW(6) & ChrW(4) & "O" & vbNullChar & "28ø"
کد C# که خودم بهش رسیدم این کده :
public string CommandToSend()
{
string StrCmd = "";
StrCmd = (Convert.ToChar(ModBusCmdArr[0])
+ Convert.ToChar(ModBusCmdArr[1])
+ Convert.ToChar(ModBusCmdArr[2])
+ Convert.ToChar(ModBusCmdArr[3])
+ Convert.ToChar(ModBusCmdArr[4])
+ Convert.ToChar(ModBusCmdArr[5])
+ Convert.ToChar(ModBusCmdArr[6])
+ Convert.ToChar(ModBusCmdArr[7])).ToString();
return StrCmd;
}
خروجی :
444
ظاهرا درست تبدیل شده اما خروجی دو تابع برای مقادیر یکسان متفاوت هست!!!!!!!!!!!!!!!!!!!!!!!!!!!!
خروجی کد vb درست هست !!!!
خروجی متد Convert.ToChar در دو زبان کاملا متفاوت هست !!!
اگر دوستان اطلاعاتی در این مورد دارن لطفا راهنمایی کنند
با تشکر فراوان