■ 문자열에서 IP 주소로 변환하는 방법을 보여준다.
▶ 문자열에서 IP 주소로 변환하기 예제 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
using System; using System.Linq; int[] ipAddressElementArray = ConvertIPAddress("127.0.0.1:8000"); if(ipAddressElementArray == null) { Console.WriteLine("문자열을 IP 주소로 변환할 수 없습니다."); } else { for(int i = 0; i < ipAddressElementArray.Count(); i++) { if(i > 0 && i < 4) { Console.Write("."); } else if(i == 4) { Console.Write(":"); } Console.Write(ipAddressElementArray[i]); } Console.WriteLine(); } |
▶ 문자열에서 IP 주소로 변환하기 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
using System.Linq; #region 문자열에서 IP 주소로 변환하기 - ConvertIPAddress(source) /// <summary> /// 문자열에서 IP 주소로 변환하기 /// </summary> /// <param name="source">소스 문자열</param> /// <returns>IP 주소</returns> public int[] ConvertIPAddress(string source) { string[] sourceArray = new string[4]; int port = 0; int[] targetArray = new int[5]; try { sourceArray = source.Trim().Split('.'); if(sourceArray.Count() != 4) { return null; } if(sourceArray[3].Contains(":")) { port = int.Parse(sourceArray[3].Substring(sourceArray[3].IndexOf(":") + 1)); sourceArray[3] = sourceArray[3].Substring(0, sourceArray[3].IndexOf(":")); } for(int i = 0; i < 4; i++) { targetArray[i] = int.Parse(sourceArray[i]); } targetArray[4] = port; for(int i = 0; i < 5; i++) { if(i == 4) { if(targetArray[i] > 65535) { return null; } } else { if(targetArray[i] < 0) { return null; } if(targetArray[i] > 255) { return null; } } } } catch { return null; } return targetArray; } #endregion |