Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

จะตรวจสอบว่าสตริงเป็นตัวเลขใน C # ได้อย่างไร


สตริงที่มีตัวเลขสามารถตรวจสอบได้โดยใช้ int.TryParse หรือ int.Parse .

Int.Parse จะส่งข้อยกเว้นหากไม่สามารถแยกวิเคราะห์สตริงเป็นจำนวนเต็มได้ ในขณะที่ Int.TryParse ส่งคืนบูลที่ระบุว่าทำได้สำเร็จหรือไม่ นอกจากนี้ Int.TryParse ยังมีพารามิเตอร์ out ซึ่งมีค่าของสตริงที่แยกวิเคราะห์

ตัวอย่าง

using System;
namespace DemoApplication {
   class Program {
      static void Main(string[] args) {
         string numberString = "123";
         int number = 0;
         if(int.TryParse(numberString, out number)) {
            Console.WriteLine($"Try Parse Interger Number: {number}");
         }
         Console.WriteLine($"Parse Interger Number: {int.Parse(numberString)}");
         Console.ReadLine();
      }
   }
}

ผลลัพธ์

ผลลัพธ์ของรหัสคือ

Try Parse Interger Number: 123
Parse Interger Number: 123

ในตัวอย่างข้างต้น เนื่องจาก int.Tryparse ส่งคืนค่าบูลีนพร้อมกับสตริงที่แยกวิเคราะห์ในพารามิเตอร์ out เงื่อนไข if จะคืนค่าเป็น true นอกจากนี้ int.Parse จะส่งคืนค่าจำนวนเต็มเนื่องจากสตริงมีตัวเลขที่เหมาะสม

ตัวอย่าง

using System;
namespace DemoApplication {
   class Program {
      static void Main(string[] args) {
         string numberString = "A123";
         int number = 0;
         if(int.TryParse(numberString, out number)) {
            Console.WriteLine($"Try Parse Interger Number: {number}");
         }
         elsem{
            Console.WriteLine($"String doesnot have a proper number");
         }
         Console.ReadLine();
      }
   }
}

ผลลัพธ์

ผลลัพธ์ของโค้ดด้านบนคือ

String doesnot have a proper number

เนื่องจากสตริงไม่มีตัวเลขที่เหมาะสม int.Tryparse จะส่งคืนค่าเท็จและดำเนินการส่วนอื่นของโค้ด ในกรณีเดียวกัน int.Parse จะแสดงข้อยกเว้นดังด้านล่าง

ตัวอย่าง

using System;
namespace DemoApplication {
   class Program {
      static void Main(string[] args) {
         string numberString = "A123";
         Console.WriteLine($"Parse Interger Number: {int.Parse(numberString)}");
         //Exception: Input string was not in correct format.
      }
   }
}