這個python表達式的C#等價物是什麼?在C中解釋我這個python表達式#
file_no = int (last_file.Name.Replace(last_file.Extension,"")[-3:]);
我明白[-3:]
做,但不是(int)
演員。
這個python表達式的C#等價物是什麼?在C中解釋我這個python表達式#
file_no = int (last_file.Name.Replace(last_file.Extension,"")[-3:]);
我明白[-3:]
做,但不是(int)
演員。
我不能告訴你在C#中的答案,但我可以解釋這個表達式的作用:它從文件名,然後最後3個字符的擴展名,並試圖將它們轉換爲int。
E.g. measure009.bin -> measure009 -> 009 -> 9
。
這不是一個演員。 int
將參數轉換爲整數,因此最接近的C#表達式將是int.Parse(...)
或使用轉換器的調用。
它用空字符串替換文件名的擴展名,將最後三個字符作爲字符串並嘗試轉換爲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)
);
這是更好的答案不知道爲什麼這有較低的選票。 – PythEch
因爲你說'int cast',我會假設你已經知道該值正在轉換爲int。原因是在轉換之前,該值是一個int的字符串表示形式,python不會讓你使用'string int'作爲int。
哦,它是python;你不需要迷戀';'任何一行的結尾; P
什麼是[-3:],請解釋 –
[-3:]是從第3個字符到最後一個字符的片段 – brennie
@Senad http://diveintopython.org/native_data_types/lists .html –