我的數據讀取器讀取我想從讀取器拆分結果並取第二個數字的行。所以例如數字是42我想要的2.我怎樣才能做到這一點很容易。有大約一百萬種我見過的方式,但沒有一個非常簡單。先謝謝你!簡單的方法來拆分兩個數字
ld.ScaleGroup = (ScaleGroup)reader["ScaleGroup"];
string[] split = ld.ScaleGroup.ToString().Split(?);
我的數據讀取器讀取我想從讀取器拆分結果並取第二個數字的行。所以例如數字是42我想要的2.我怎樣才能做到這一點很容易。有大約一百萬種我見過的方式,但沒有一個非常簡單。先謝謝你!簡單的方法來拆分兩個數字
ld.ScaleGroup = (ScaleGroup)reader["ScaleGroup"];
string[] split = ld.ScaleGroup.ToString().Split(?);
你並不需要使用Split()
如果你只是想在第2個字符。只寫:
string str = ld.ScaleGroup.ToString();
char secondDigit = str[1];
確保str
確實至少有2個字符,當然。
編輯:如果你想要它作爲一個字符串,請參閱D Stanley的回答使用Substring()
。
Split()
用於包含由分隔符(或字符)分隔的令牌序列的字符串。例如,使用分隔符,
分割"a,b,c"
將返回3個字符串的陣列"a"
,"b"
和"c"
。
如果總是希望你可以做
ld.ScaleGroup.ToString().Substring(1,1);
但對於數< 10第二位? > 100?
或者,如果你總是希望那些數字(如123 - > 3)然後取數模10:
int ones = ld.ScaleGroup % 10;
+1特別是'%' - 不知道是什麼將數字轉換爲字符串以對其執行一些計算的點... –
什麼是ScaleGroup?你不能讓讀者閱讀它。如果它是一個'int',你應該使用'reader.GetInt32(reader.GetOrdinal(「ScaleGroup」))',那麼你可以使用'ToString'將它轉換爲'string',它有一個索引器來訪問一個char。 –
看看'string.ToCharArray()' – ja72
@ ja72:爲什麼'ToCharArray',他可以直接訪問一個字符:'char second =「42」[1];' –