C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

型のキャストについて

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■87378 / inTopicNo.1)  型のキャストについて
  
□投稿者/ kenta (3回)-(2018/05/16(Wed) 11:55:36)

分類:[C#] 

こんにちは

ファイルからデータを読みこんで配列に格納しています。
問題:0以上を抽出したいのに型が統一できない。

while (reader.Peek() >= 0)
{
string line = reader.ReadLine(); //一行取得
string [] array = line.Split(',');//カンマで区切る

DataRow row = ds.Tables[0].NewRow();

for (int i = 0; i < 50; i++)
{
if (array[i] > 0)        ←ここでエラー(演算子">"を'string'と'int'型のオペランドに適応すことはできない)
{
row[i] = array[i];//全計測行格納
}
}
       }

以上よろしくお願いします。
引用返信 編集キー/
■87380 / inTopicNo.2)  Re[1]: 型のキャストについて
□投稿者/ 魔界の仮面弁士 (1669回)-(2018/05/16(Wed) 12:04:50)
No87378 (kenta さん) に返信
> if (array[i] > 0)

array[i] == "" とか array[i] == "XYZ" だった場合は、どうしたいのでしょうか?

常に「整数として扱える文字列」がセットされていると保証できるなら、
 if ( int.Parse(array[i]) > 0 )
のように書くことはできます。


非数値の場合がありえるなら、String.Compare メソッドを使った文字列比較を行うか
(文字列比較の場合、"1" < "10" < "2" の関係になることに注意)
あるいは、int.TryParse メソッドを使うなどしましょう。
引用返信 編集キー/
■87384 / inTopicNo.3)  Re[2]: 型のキャストについて
□投稿者/ kenta (4回)-(2018/05/16(Wed) 13:55:42)
No87380 (魔界の仮面弁士 さん) に返信

常に「整数として扱える文字列」がセットされていると保証できます。

無事に解決しました。ありがとうございます。
またよろしくお願いします。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ