RegexOptions.Singleline & RegexOptions.IgnoreCase
bir bit-bazında olan ve ve 0 (yani RegexOptions.None
) dönüşür.
RegexOptions
enum şuna benzer: alırsak alalım,
RegexOptions.SingleLine == 10000
RegexOptions.IngoreCase == 00001
bit tabanlı uygularken VE:
10000
AND 00001
-----
00000
değiştirin
[Flags]
public enum RegexOptions
{
None = 0,
IgnoreCase = 1,
Multiline = 2,
ExplicitCapture = 4,
Compiled = 8,
Singleline = 16,
IgnorePatternWhitespace = 32,
RightToLeft = 64,
ECMAScript = 256,
CultureInvariant = 512,
}
Yani, ikilik sistemde, elimizdeki
ile birlikte
10000
OR 00001
-----
10001
ILSpy içinde koda olacak Yani:
Regex regex = new Regex("blah", RegexOptions.Singleline | RegexOptions.IgnoreCase);
Ama .Net 4.5 ne "eserlerini" bilmiyorum verir
. Sadece kodunuzu derledim ve ILSpy de belirtildiği gibi:
.
Bunu mu demek istediniz: RegexOptions.SingleLine | RegexOptions.IgnoreCase', yani _and_ yerine bitwise _or_? Muhtemelen seçenekler bayraklar (iki iktidar), yani bitsel ve herhangi birinin ikisi sıfır verecektir (bu, bir enum değerine geri dönüştürülür, 'Yok'tur). – CompuChip
Evet, bu hile yaptı. Teşekkür ederim. –