Pasando codigo VB.NET a c# con Strings.mid y otras funciones String

Hola qué tal? estoy hace 2 horas y media intentando pasar el siguiente códigode VB.NET a c#

 temp = Mid(codigodebarrasingresa, InStr(1, mascara, "I"), InStrRev(mascara, "I") - InStr(1, mascara, "I") + 1)
 importedeterminado = CDec(Left(temp, Len(temp) - 2) & "," & Right(temp, 2))
 codigoproductoreal = Mid(codigodebarrasingresa, InStr(1, mascara, "P"), InStrRev(mascara, "P") - InStr(1, mascara, "P") + 1)

Todas las variables anteriormente declaradas son String, No encuentro las equivalencias en c# y las que pude encontrar no hace exactamente lo mismo, realmente es un mapa del tesoro pasar estas lineas, alguien podría darme una respuesta?
No sé exactamente cuáles puedan ser las equivalencias de las variables Strings.Left y demás en c#
Desde ya muchas gracias