Benutzer mit den meisten Antworten
VB.Net: Integer in IPAddress konvertieren

Frage
-
Hallo,
ich möchte aus einem String eine IP erhalten. Ich habe mir das so überlegt (> bedeutet "wird konvertiert zu"):
Eingabe(String) > Integer > IPAddress
Leider weiß ich nicht, wie man Integer in IPAddress konvertiert.
Danke im Voraus.
Gruß, Bolzen
Antworten
-
Hallo, eine IPv4 Adresse hat das Muster 0.0.0.0 wobei jede 0 für eine Zahl zwischen einschließlich 0 und 255 steht. Getrennt werden diese durch einen Punkt. Auslesen geht mit IPAddress.Parse().
Um einen Integer aus der IP bzw. eine "richtige" IP aus einem integer zu bekommen, kannst du mal folgendes ansehen:
http://stackoverflow.com/questions/461742/how-to-convert-an-ipv4-address-into-a-integer-in-cIn VB.NET übersetzt sähe das in etwa so aus:
Dim intAddress As Integer = BitConverter.ToInt32(IPAddress.Parse(address).GetAddressBytes(), 0) Dim ipAddress__1 As String = New IPAddress(BitConverter.GetBytes(intAddress)).ToString()
Koopakiller [kuːpakɪllɐ] | Webseite | Code Beispiele | Facebook | Snippets
- Als Antwort markiert Bolzen Mittwoch, 23. Januar 2013 16:46
-
Hi,
weil es das eben nicht gibt. In der Regel braucht das auch keiner. Aber was ist denn daran so schlimm, den Konstruktor oder die TryParse Methode zu verwenden?
Aber für den Fall, dass Du unbedingt ganz ganz wirklich auf jeden Fall sowas haben willst, schreib dir einfach eine Erweiterungsmethode.
<Extension()> _ Public Function ToIpAddress( ByVal IpValue As Int64 ) As System.Net.IPAddress Dim Result As System.Net.IPAddress Result = New System.Net.IPAddress( IpValue ) Return Result End Function
Aufrufen kannst Du das dann bspw. so:
Dim x As Int64 = 1 Dim y As System.Net.IpAddress = x.ToIpAddress()
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Bolzen Mittwoch, 23. Januar 2013 16:47
Alle Antworten
-
Hallo, eine IPv4 Adresse hat das Muster 0.0.0.0 wobei jede 0 für eine Zahl zwischen einschließlich 0 und 255 steht. Getrennt werden diese durch einen Punkt. Auslesen geht mit IPAddress.Parse().
Um einen Integer aus der IP bzw. eine "richtige" IP aus einem integer zu bekommen, kannst du mal folgendes ansehen:
http://stackoverflow.com/questions/461742/how-to-convert-an-ipv4-address-into-a-integer-in-cIn VB.NET übersetzt sähe das in etwa so aus:
Dim intAddress As Integer = BitConverter.ToInt32(IPAddress.Parse(address).GetAddressBytes(), 0) Dim ipAddress__1 As String = New IPAddress(BitConverter.GetBytes(intAddress)).ToString()
Koopakiller [kuːpakɪllɐ] | Webseite | Code Beispiele | Facebook | Snippets
- Als Antwort markiert Bolzen Mittwoch, 23. Januar 2013 16:46
-
Hi,
siehe dazu:
http://msdn.microsoft.com/de-de/library/13180abx.aspx
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
An sich ist der Code recht kurz und .NET kann nicht alles implementieren. Du kannst ja auch einfach eine Erweiterungsmethode schreiben, die in eine wiederverwendbare DLL. Das ist Arbeit von 5 Minuten und du hast nach Verweisung auf die DLL keine Probleme mehr ;)
Koopakiller [kuːpakɪllɐ] | Webseite | Code Beispiele | Facebook | Snippets
-
Hi,
weil es das eben nicht gibt. In der Regel braucht das auch keiner. Aber was ist denn daran so schlimm, den Konstruktor oder die TryParse Methode zu verwenden?
Aber für den Fall, dass Du unbedingt ganz ganz wirklich auf jeden Fall sowas haben willst, schreib dir einfach eine Erweiterungsmethode.
<Extension()> _ Public Function ToIpAddress( ByVal IpValue As Int64 ) As System.Net.IPAddress Dim Result As System.Net.IPAddress Result = New System.Net.IPAddress( IpValue ) Return Result End Function
Aufrufen kannst Du das dann bspw. so:
Dim x As Int64 = 1 Dim y As System.Net.IpAddress = x.ToIpAddress()
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Bolzen Mittwoch, 23. Januar 2013 16:47