I recently wrote this method:
// The returned result is roughly aagp30pmdrvs56nk. Public String Getusbdisksnviadriveletter ( String Strusbdiskdriveletter ){ VaR Searcher = New Managementobjectsearcher ( " Select * From win32_logicaldisktopartition " ); Foreach (Managementobject DM In Searcher. Get ()){ // DM ["dependent"] is roughly \ JIANG-PC \ Root \ cimv2: win32_logicaldisk.deviceid = "H :" String Strdriveletter = getvalueinquotes (DM [ " Dependent " ]. Tostring ()); If (Strdriveletter = Strusbdiskdriveletter ){ // DM ["antecedent"] is roughly \ JIANG-PC \ Root \ cimv2: win32_diskpartition.deviceid = "disk #1, partition #0" String [] Diskarray = getvalueinquotes (DM [ " Antecedent " ]. Tostring (). Split ( ' , ' ); String Drivenumber = diskarray [ 0 ]. Remove ( 0 , 6 ). Trim (); VaR Disks = New Managementobjectsearcher ( " Select * From win32_diskdrive " ); Foreach (Managementobject Disk In Disks. Get ()){ // Disk ["name"] is roughly \. \ physicaldrive1 // Disk ["interfacetype"] is roughly: USB If (Disk [ " Name " ]. Tostring () = ( " \\\\. \ Physicaldrive " + Drivenumber) & disk [ " Interfacetype " ]. Tostring () = " USB " ){ // Disk ["pnpdeviceid"] is roughly: usbstor \ disk & ven_teclast & prod_coolflash (s) & rev_1100 \ aagp30pmdrvs56nk & 0 Return Parseserialfromdeviceid (Disk [ " Pnpdeviceid " ]. Tostring ());}}}} Return Null ;}
The resharper plug-in prompts me that this can be converted into a LINQ expression. How can I convert it? So after clicking it, it becomes:
// The returned result is roughly aagp30pmdrvs56nk. Public String Getusbdisksnviadriveletter ( String Strusbdiskdriveletter ){ VaR Searcher = New Managementobjectsearcher ( " Select * From win32_logicaldisktopartition " ); Return (From Managementobject DM In Searcher. Get () Let strdriveletter = getvalueinquotes (DM [ " Dependent " ]. Tostring ()) Where Strdriveletter = strusbdiskdriveletter Select Getvalueinquotes (DM [ " Antecedent " ]. Tostring (). Split ( ' , ' ) Into diskarraySelect Diskarray [ 0 ]. Remove ( 0 , 6 ). Trim () into drivenumber let disks = New Managementobjectsearcher ( " Select * From win32_diskdrive " ) From Managementobject Disk In Disks. Get () Where Disk [ " Name " ]. Tostring () = ( " \\\\. \ Physicaldrive " + Drivenumber) & disk [ " Interfacetype " ]. Tostring () = " USB " Select Parseserialfromdeviceid (Disk [ " Pnpdeviceid " ]. Tostring (). firstordefault ();}
CodeIt seems to be much less. I thought it was another language, but frankly speaking, the readability is really poor ...... A long line.
It seems that resharper is too intelligent.