首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C# `int.TryParse` 與 `split` 組合用法解析:Java 開發者快速上手指南

     編輯:程式設計疑難解答

Java 開發者閱讀 C# 代碼時,常遇到 `int.TryParse(str.Split('-')[0], out leftIndex)` 這類組合寫法。本文拆解其邏輯並指出潛在風險。

代碼拆解

if (int.TryParse(strRasterID.split("-")[0], out leftIndex) &&
    int.TryParse(strRasterID.split("-")[1], out bottomIndex))
  1. strRasterID.split("-"):按 - 分割字符串,返回 string[]
  2. [0]、[1]:取分割後的第一、二個子串
  3. int.TryParse(..., out var):嘗試解析為整數,成功返回 true 並賦值給 out 參數
  4. 整體邏輯:字符串必須符合「整數-整數」格式,且兩部分均能解析為 int

⚠️ 隱患:數組越界異常

若 strRasterID 不包含 -(如 "123"),分割後數組長度為 1,訪問 [1] 直接拋出 IndexOutOfRangeException。

健壯寫法建議

var parts = strRasterID.Split('-');
if (parts.Length == 2 
    && int.TryParse(parts[0], out leftIndex) 
    && int.TryParse(parts[1], out bottomIndex)) {
    // 解析成功
}

Java 對應寫法對照

// Java 8+
String[] parts = strRasterID.split("-");
if (parts.length == 2) {
    try {
        leftIndex = Integer.parseInt(parts[0]);
        bottomIndex = Integer.parseInt(parts[1]);
        // 解析成功
    } catch (NumberFormatException e) {
        // 格式錯誤
    }
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved