ฉันต้องการแยกสตริงเป็น int nullable ใน C # กล่าวคือ ฉันต้องการกลับค่า int ของสตริงหรือ null ถ้าไม่สามารถแยกวิเคราะห์ได้
ฉันหวังว่ามันจะใช้ได้
int? val = stringVal as int?;
แต่นั่นไม่ได้ผลวิธีที่ฉันทำตอนนี้คือฉันได้เขียนวิธีการขยายนี้
public static int? ParseNullableInt(this string value)
{
if (value == null || value.Trim() == string.Empty)
{
return null;
}
else
{
try
{
return int.Parse(value);
}
catch
{
return null;
}
}
}
มีวิธีที่ดีกว่าในการทำเช่นนี้?
แก้ไข: ขอบคุณสำหรับคำแนะนำ TryParse ฉันรู้เกี่ยวกับเรื่องนี้ แต่ก็ทำออกมาเหมือนกัน ฉันสนใจที่จะรู้มากขึ้นว่ามีวิธีการสร้างเฟรมเวิร์กที่จะแจงเป็น int ที่ไม่มีค่าหรือไม่?