webForumDet fria alternativet

Översätta kod från vb.net till c#.net

.NET

6 svar · 1 556 visningar · startad av SebbeJ

Medlem sedan dec. 200471 inlägg
Frågan#1

Halloj, hittade en liten funktion som jag vill ha hjälp med att översätta till c#. Är rätt mkt grönjöling på c# så att jag skulle klara att ersätta ngt från vb till c# ser jag som relativt svårt...

Därför ber jag om er hjälp!

Koden hittas på pellesoft:
http://www.pellesoft.se/communicate/tips/tips.aspx?tid=1881

Tack på förhand för all eventuell hjälp!

Medlem sedan nov. 20022 355 inlägg
#2

Gör det här:
http://www.developerfusion.co.uk/utilities/convertvbtocsharp.aspxr: gjorde en redigering så det blev korrekt c# kod:

bool PersonnummerKoll(string Personnummer) 
{ 
 object[] Siffra = new object[9]; 
 string HelNummer; 
 int Resultat; 
 string StrResultat; 
 object i; 
 i = InStr(Personnummer, "-"); 
 if (i == 7) { 
   Personnummer = Mid(Personnummer, 1, 6) + Mid(Personnummer, 8, 11); 
 } 
 if (Len(Personnummer) != 10) { 
   return false; 
return null; 
 } 
 for (int i = 1; i <= 9; i++) { 
   Siffra(i) = Mid(Personnummer, i, 1); 
 } 
 for (int i = 0; i <= 9; i += 2) { 
   Siffra(i + 1) = Siffra(i + 1) * 2; 
 } 
 for (int i = 1; i <= 9; i++) { 
   if (Siffra(i) >= 10) { 
     Siffra(i) = Val(Mid(Siffra(i), 1, 1)) + Val(Mid(Siffra(i), 2, 1)); 
   } 
   Resultat += (Siffra(i)); 
 } 
 StrResultat = Resultat; 
 i = Mid(Personnummer, Len(Personnummer), 1); 
 if (10 - Val(Mid(StrResultat, Len(StrResultat), 1)) == i) { 
   return true; 
 } else { 
   return false; 
 } 
}
Medlem sedan jan. 2004501 inlägg
#3

det blir nästan copy paste på denna kod snutt. Tackar.

Medlem sedan dec. 200471 inlägg
#4

Jag får inte det att fungera, kompilatorn klagar på att den inte hittar InStr, Len och Mid, vilket namespace måste jag importera?

Har testat med System.Text och det ger ingen nämnvärd skillnad :/

Medlem sedan maj 20018 027 inlägg
#5

Det finns något särskilt VisualBasic-namespace, även om jag har glömt det kompletta namnet för det. Annars finns det ju medlemsmetoder i "string", som gör samma sak som dessa funktioner. Det ser snyggare ut om du använder dessa istället.

Medlem sedan apr. 20012 266 inlägg
#6

Flyttas från ASP.NET

Medlem sedan juli 20011 084 inlägg
#7

Namespacet heter väl(om jag inte mins helt fel) Microsoft.VisualBasic

Men metoderna i "string" är...

[b]VB         C#[/b]
InString = string.IndexOf("")
Len      = string.Length
Mid      = string.Substring(0,1)

En bra sida angående detta är VB.NET and C# Comparison

250 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)