2017-07-06 8 views
0

私のプロジェクトでは、Wireと呼ばれるいくつかの要素が含まれているxml要素nwCounterがあります。これらの各要素には、整数の一意の属性UIdがあります。すべての数字が使用されているわけではありません。xAttribute:明示的な変換を使用する場合

私は、LINQからXMLを使用したように、私は2つの方法で最高のUID番号を検索することができます。

Dim test1 As Integer = nwCounter.Descendants(networkNameSpace + "Wire").Max(Function(x) Convert.ToInt32(x.Attribute("UId").Value)) 
Dim test2 As Integer = nwCounter.Descendants(networkNameSpace + "Wire").Max(Function(x) x.Attribute("UId").Value) 

testの結果はtest2の結果は99で、124です。最初のものが正しいものです。

私の質問は:私は常に明示的な変換を使用する必要がありますか?または、暗黙の変換を使用することはいつでもよいですか?

答えて

0

さて、この質問は、トラクションの多くを生成しませんでしたが、数週間後、それが問題だったものを私に夜が明けた:

Max関数は常に最も高い値を検索し、それはかかりません。タイプに関する情報。デフォルトでは、型が文字列であると見なされるようです。

すべての属性をアルファベット順に並べると、99124より高くなります。私がこれを以前に見なかったのは、10と99の間の値しか使わなかったからです。だから私はこの問題に遭遇しませんでした。

関連する問題