C#小白请教个简单问题

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

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

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

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

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

int.TryParse

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

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。

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