0

XMLReaderを使用してC#でXMLを解析しているときに問題が発生しました。

次に例を示します。

string text = xNode.ReadElementContentAsString().Length > 0 ? xBonusesNode.ReadElementContentAsString() : null;
int nmb = xNode.ReadElementContentAsInt();

したがって、文字列値を取得しようとしている場合、要素にデータがあるかどうかを確認するための単純なインラインifステートメントがあります。

整数で似たようなことをするにはどうすればよいですか?または、これのために、例外を正しくそして最良の方法でキャッチする方法は?

4

2 に答える 2

1

次のようにint.TryParseを使用できます。

  int number;
  bool result = Int32.TryParse(xNode.ReadElementContentAsString, out number);
于 2012-10-25T13:33:40.343 に答える
1
string text = xNode.ReadElementContentAsString().Length > 0 ? xBonusesNode.ReadElementContentAsString() : null;
Int32.TryParse(text,out myInt);

動作するはずです。

xmlライブラリがnull許容型(int?)をサポートしているかどうかはわかりませんが、上記はとにかく機能するはずです-基本的に、文字列として読み取ってから解析しようとしています。TryParseが失敗した場合、myIntは以前の状態のままになります(tryParseは「false」を返します)

于 2012-10-25T13:33:51.093 に答える