2 alan xu188 alan_xu188 于 2016.02.24 10:45 提问

C#小白请教个简单问题

if (int.TryParse(strRasterID.split("-")[0], out leftIndex) &&
int.TryParse(strRasterID.split("-")[1], out bottomIndex))

求问这个if判断的是什么,小弟是做java的,先谢过各位大神

6个回答

crj8902
crj8902   2016.02.25 19:44
已采纳

split将分割成数组
int.TryParse是尝试转换成int
strRasterID必须是 整数-整数(-xxxxxx) 的形式才是真

这样判断容易出问题的
如果strRasterID不包含 - 会抛 数组超限 异常

bdmh
bdmh   Ds   Rxr 2016.02.24 10:53

split分割成数组,然后取第一个数,TryParse尝试转成int

qq_33225409
qq_33225409   2016.02.24 10:57

int.TryParse

q107770540
q107770540   Ds   Rxr 2016.02.24 14:25

如果strRasterID变量里的值是这个格式 "\d+-\d+" 即 数字-数字 则为真

hellohellott
hellohellott   2016.02.26 10:37

string.split('-')把字符串分割成字符串数组
int.TryParse把字符串转换成int,转换成功返回true,并把转换后的结果赋值给第二个参数,否则返回false
strRasterID应该是A-B[-X]这样格式的字符串,其中A和B应该是可以转换成int型的字符串
此段代码就是判断A和B是否全部可以转换成int型,并且把A转换后的int值赋值给leftIndex,把B转换后的int值赋值给bottomIndex
如果都可以转换,if的条件表达式返回True,否则为False。

cv123cv123
cv123cv123   2016.02.26 10:56

strRasterID.split("-")[0]这句话是将字符串strRasterID用分隔符"-"分割得到字符串数组,然后将字符串数组的第一个字符用Int32 .TryParse 方法 (String, Int32 %)将字符串数组的第一个字符转化为整形,并付给leftIndex,Int32 .TryParse 方法返回值,转换成功,则为 true;否则为 false
strRasterID.split("-")[1], out bottomIndex也是一样,综合起来就是判断将字符串strRasterID用分隔符"-"分割得到字符串数组,然后判断数组的第一,和第2个元素是否能转化为整形

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!