首页 新闻 会员 周边

XmlDocument中 if (node.Name.Equals("Code", 3))

0
[已解决问题] 解决于 2018-06-29 09:31

有没有人啊,帮我看看这个啥意思,Code等于3的条件吗?可是怎么会等于3呢,Code是节点的Name值就是啊,一个string值怎么等于int值勒

XML
你猜丶的主页 你猜丶 | 初学一级 | 园豆:183
提问于:2018-06-20 12:05
< >
分享
最佳答案
0

C#?不要让大家进来先猜语言...

如果是C#的话,宇宙最强IDE的VS里按下F12就知道了,看下应用的源码是什么。

我在原生C#的方法里只找到了 public bool Equals(String value, StringComparison comparisonType); 这个方法。

官方的注释如是

Determines whether this string and a specified System.String object have the same value. A parameter specifies the culture, case, and sort rules used in the comparison.

确定此字符串是否与另一个指定的 String 对象具有相同的值。 参数指定区域性、大小写以及比较所用的排序规则。                          

  ---MSDN  String.Equals 方法 (String, StringComparison)

那后面那个数字是什么呢?我们看下这个方法的第二个参数StringComparison

namespace System
{
    public enum StringComparison
    {
        CurrentCulture = 0,
        CurrentCultureIgnoreCase = 1,
        InvariantCulture = 2,
        InvariantCultureIgnoreCase = 3,
        Ordinal = 4,
        OrdinalIgnoreCase = 5
    }
}

这段代码里的注释我都删掉了,想看官方注释,请自行F12。

说回重点,看到这个枚举里的 InvariantCultureIgnoreCase = 3 了么?你的方法估计就是从这个衍生来的。

InvariantCultureIgnoreCase 官方注释是

Compare strings using culture-sensitive sort rules, the invariant culture, and ignoring the case of the strings being compared.

通过使用区分区域性的排序规则、固定区域性,并忽略所比较的字符串的大小写,来比较字符串。

微软官方(最新版的C#)是没有提供 public bool Equals(String value, int obj); 这样的方法的。

但是估计你这段代码里有扩展把参数中的数字转换为枚举类型。具体请参考你的代码。

 

奖励园豆:5
写代码的相声演员 | 小虾三级 |园豆:517 | 2018-06-20 18:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册