In terms of performance, there's no difference at all between the two. They both boil down to exactly the same IL:
.method private hidebysig static bool '<main>b__3'(class LinqIl.Article x) cil managed
{
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 )
.maxstack 2
.locals init ([0] bool CS$1$0000)
IL_0000: ldarg.0
IL_0001: ldfld string LinqIl.Article::StorageUnit
IL_0006: ldstr "some unit"
IL_000b: call bool [mscorlib]System.String::op_Equality(string,
string)
IL_0010: stloc.0
IL_0011: br.s IL_0013
IL_0013: ldloc.0
IL_0014: ret
}
If you want to prove this to yourself, all you need to do is run ildasm and disassemble your code.