27. oktober 2004 - 15:16
Der er
18 kommentarer og 1 løsning
Er der et argument
Hejsa Hvordan kontrollere man om en applikation er kaldt med to argumenter ? Jeg har prøvet det her, men det er vist helt i skoven. if (args[0].ToString().Length == 0 || args[1].ToString().Length == 0) Den fejler kun når der ingen paramter er, så hvordan tjekker man om variablen overhovedet eksistere ?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
27. oktober 2004 - 15:24
#1
args er et array - kan du ikke bare aflæse lænden af arrayet? noget i stil med args.count / args.len / args.length
27. oktober 2004 - 15:27
#2
Fandt denne stump kode til dig :-) static void Main(string[] args) { if (args.Length == 0) goto done; Console.WriteLine(args.Length); done: Console.WriteLine("Done"); } Så args.Length giver dig altså antallet af argumenter som dit program er kaldt med.
27. oktober 2004 - 15:29
#3
Mange tak
27. oktober 2004 - 17:16
#4
Sådan i al respekt for at struktureret prgrammering blev opfundet for en 35 år siden synes jeg at man skulle bruge if(...) {...} else {...} fremfor goto !
27. oktober 2004 - 17:20
#5
Har jeg også gjort. Har altid lært at man ikke må tvinge sig ud af løkker osv med goto. Et lille tillægs spørgsmål: Kan man bruge md5 i C# ?
27. oktober 2004 - 17:22
#6
Ja. Der er en klasse System.Security.Cryptography.MD5
27. oktober 2004 - 17:22
#7
Du har vel ikke lige et lille eksempel på brugen ?
27. oktober 2004 - 17:25
#8
Jeg kan lave et.
27. oktober 2004 - 17:34
#9
using System; using System.Text; using System.Security.Cryptography; class MainClass { public static void Main(string[] args) { string input = "Dette er en lille test streng"; Encoding utf8 = new UTF8Encoding(); MD5 md5 = new MD5CryptoServiceProvider(); string output = Convert.ToBase64String(md5.ComputeHash(utf8.GetBytes(input))); Console.WriteLine(input + " -> " + output); } }
27. oktober 2004 - 17:39
#10
Den returnere ikke det samme som php's md5() Er det meningen ?
27. oktober 2004 - 17:41
#11
Nej de burde returnere det samme. Er der ÆØÅ i det du har testet på ?
27. oktober 2004 - 17:46
#12
streng = exp php's md5 = b0ab0254bd58eb87eaee3172ba49fefb c#'s md5 = sKsCVL1Y64fq7jFyukn++w==
27. oktober 2004 - 17:49
#13
using System; using System.Text; using System.Security.Cryptography; class MainClass { public static void Main(string[] args) { string input = "Dette er en lille test streng"; Encoding utf8 = new UTF8Encoding(); MD5 md5 = new MD5CryptoServiceProvider(); byte[] output = md5.ComputeHash(utf8.GetBytes(input)); for(int i = 0; i < output.Length; i++) { Console.Write(String.Format("{0:X2}",output[i])); } Console.WriteLine(); } }
27. oktober 2004 - 17:54
#14
Ja, så returnere den det rigtige: B0AB0254BD58EB87EAEE3172BA49FEFB Dog er alle bogstaver store. Har det betydning ? Og den her gik ikke: var = var + String.Format("{0:X2}",output[i]);
27. oktober 2004 - 18:16
#15
Hjalp da jeg satte var = ""; Mange tak for hjælpen arne. Vil du ha nogle point ?
27. oktober 2004 - 18:31
#16
Hvis du vil have små bogstaver så bruger du bare x2 fremfor X2 !
27. oktober 2004 - 18:32
#17
Point modtages altid med glæde, men jeg vidste godt at spørgsmålet var lukket da jeg svarede
27. oktober 2004 - 18:36
#18
27. oktober 2004 - 20:58
#19
arne> Helt enig mht. goto - så det slet ikke, da jeg lige skulle "sigte" på arr.Length :-)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.