Jul
26
Jul
10
如下代码,一眼可以看出来输出结果显然应该是-1
然尔今天写代码时候遇到这个诡异的问题,不管如何变换,IndexOf("〇")结果总是0,也就是匹配任意字符串的开始部分.甚是奇怪,至今不明白为什么会是这个结果-_-!
通过IL反汇编得到如下结果:
即"〇"对应值是bytearray (07 30 ),初步猜想,此字符应该是特殊字符,在.net编译时做了特殊处理.具体回头查查资料先...
说明一下:"〇"是日文中常用字符,可以通过日文输入法输入maru(まる)得到
static void Main()
{
int intIndex = -1;
string strTest = "xxxxx";
string strMaru = "〇";
intIndex = strTest.IndexOf(strMaru);
Console.WriteLine(intIndex);
Console.Read();
}
{
int intIndex = -1;
string strTest = "xxxxx";
string strMaru = "〇";
intIndex = strTest.IndexOf(strMaru);
Console.WriteLine(intIndex);
Console.Read();
}
然尔今天写代码时候遇到这个诡异的问题,不管如何变换,IndexOf("〇")结果总是0,也就是匹配任意字符串的开始部分.甚是奇怪,至今不明白为什么会是这个结果-_-!
通过IL反汇编得到如下结果:
.method private hidebysig static void Main() cil managed
{
.entrypoint
// 代码大小 37 (0x25)
.maxstack 2
.locals init ([0] int32 intIndex,
[1] string strTest,
[2] string strMaru)
IL_0000: nop
IL_0001: ldc.i4.m1
IL_0002: stloc.0
IL_0003: ldstr "xxxxx"
IL_0008: stloc.1
IL_0009: ldstr bytearray (07 30 ) // .0
IL_000e: stloc.2
IL_000f: ldloc.1
IL_0010: ldloc.2
IL_0011: callvirt instance int32 [mscorlib]System.String::IndexOf(string)
IL_0016: stloc.0
IL_0017: ldloc.0
IL_0018: call void [mscorlib]System.Console::WriteLine(int32)
IL_001d: nop
IL_001e: call int32 [mscorlib]System.Console::Read()
IL_0023: pop
IL_0024: ret
} // end of method Program::Main
{
.entrypoint
// 代码大小 37 (0x25)
.maxstack 2
.locals init ([0] int32 intIndex,
[1] string strTest,
[2] string strMaru)
IL_0000: nop
IL_0001: ldc.i4.m1
IL_0002: stloc.0
IL_0003: ldstr "xxxxx"
IL_0008: stloc.1
IL_0009: ldstr bytearray (07 30 ) // .0
IL_000e: stloc.2
IL_000f: ldloc.1
IL_0010: ldloc.2
IL_0011: callvirt instance int32 [mscorlib]System.String::IndexOf(string)
IL_0016: stloc.0
IL_0017: ldloc.0
IL_0018: call void [mscorlib]System.Console::WriteLine(int32)
IL_001d: nop
IL_001e: call int32 [mscorlib]System.Console::Read()
IL_0023: pop
IL_0024: ret
} // end of method Program::Main
即"〇"对应值是bytearray (07 30 ),初步猜想,此字符应该是特殊字符,在.net编译时做了特殊处理.具体回头查查资料先...
说明一下:"〇"是日文中常用字符,可以通过日文输入法输入maru(まる)得到
Jul
9
或许应该写在7月初大学生刚毕业的时候
毕业已经两年了,变化说大不大,说小不小.不大是说个人财产,貌似仍然基本为零.目前总计有本本一个,水货手机一个,MP4一个,存款丁点,单身.给一年前比,财产貌似无任何增长.说不小的就多了.毕业两年,从实习时候200元补贴,到刚毕业时月薪1200-1600,毕业一年后月薪2500-3000.毕业一年半后,终于进入大几K的行列(具体保密).从实习生,到转正,到外企Project Leader.从一个写程序未入门级的门外汉,到一个编程熟练工,再到能单独负责项目.从一身学生仔的牛仔T恤打扮,到西服衬衫领带...
两年,得到很多,也失去很多.之前的总总霉运,导致今年刚进上海,拿第一个月工资前,工作一年半的我,口袋里只剩几百元.但是一切正渐渐的好转起来.然后真正在上海工作生活,却又没有想象中的那么美好.工作比较累,薪水也达不到个人期望的水平,当然,自我感觉自己也不仅值那么点钱.当然,也学到了很多东西.两年间,技术进步很大,脱离菜鸟行列,介于高手和菜鸟之间了,希望能早日突破瓶颈.日语仍然是半吊子,进度最大的应该是管理水平了.处事,做项目,管理,做人等,都成熟了很多.
本来想写的东西很多,突然却又不知道该怎么写.有些事想写却不能写,有些事能写却不想写.近期的打算是抽时间,重新拾起Web开发,自己写点东西.如果自己能坚持的话,学点日语,提高外语水平.管理方面也应该更加的成熟起来.和相恋四年,准备结婚的女友分手了(非感情问题).好好工作,一些都会好起来的
毕业已经两年了,变化说大不大,说小不小.不大是说个人财产,貌似仍然基本为零.目前总计有本本一个,水货手机一个,MP4一个,存款丁点,单身.给一年前比,财产貌似无任何增长.说不小的就多了.毕业两年,从实习时候200元补贴,到刚毕业时月薪1200-1600,毕业一年后月薪2500-3000.毕业一年半后,终于进入大几K的行列(具体保密).从实习生,到转正,到外企Project Leader.从一个写程序未入门级的门外汉,到一个编程熟练工,再到能单独负责项目.从一身学生仔的牛仔T恤打扮,到西服衬衫领带...
两年,得到很多,也失去很多.之前的总总霉运,导致今年刚进上海,拿第一个月工资前,工作一年半的我,口袋里只剩几百元.但是一切正渐渐的好转起来.然后真正在上海工作生活,却又没有想象中的那么美好.工作比较累,薪水也达不到个人期望的水平,当然,自我感觉自己也不仅值那么点钱.当然,也学到了很多东西.两年间,技术进步很大,脱离菜鸟行列,介于高手和菜鸟之间了,希望能早日突破瓶颈.日语仍然是半吊子,进度最大的应该是管理水平了.处事,做项目,管理,做人等,都成熟了很多.
本来想写的东西很多,突然却又不知道该怎么写.有些事想写却不能写,有些事能写却不想写.近期的打算是抽时间,重新拾起Web开发,自己写点东西.如果自己能坚持的话,学点日语,提高外语水平.管理方面也应该更加的成熟起来.和相恋四年,准备结婚的女友分手了(非感情问题).好好工作,一些都会好起来的



RT,刚在站长之家查到的,降了几次,终于再次恢复,不容易啊

