用c#给我解释一下这个python表达式
本文关键字:一下 表达式 python 解释 | 更新日期: 2023-09-27 18:06:30
这个python表达式的c#等价是什么?
file_no = int (last_file.Name.Replace(last_file.Extension,"")[-3:]);
我理解[-3:]
的作用,但不理解(int)
的作用。
它将文件名的扩展名替换为空字符串,将最后三个字符作为字符串并尝试转换为int类型。
如果last_file
是jamesbond007.secretagent
, last_file.Extension
是.secretagent
,那么file_no
就变成了7
,因为.secretagent
被空字符串取代,最后三个字符是007
,被解析成7
。
int file_no =
Int32.Parse(
last_file.Name.Replace(
last_file.Extension, String.Empty
)
.Right(3)
);
将值传递给int
构造函数将尝试将其转换为int
(或long
,如果它太大)。想想Convert.ToInt32()
。
我不能在c#中告诉你答案,但我可以解释这个表达式的作用:它从文件名中获取扩展名,然后是最后3个字符,并尝试将这些字符转换为int。
。measure009.bin -> measure009 -> 009 -> 9
.
因为你说'整型转换',我将假设你已经知道值被转换为整型。原因是在强制转换之前,该值是int型的字符串表示形式,python不允许您将'string int'用作int型。
哦,它是python;你不需要再纠结于";"的行尾了;P
这不是真正的强制转换。int
将参数转换为整数,因此最接近的c#表达式将是int.Parse(...)
或使用转换器的调用。