Etki alanı/bilgisayar bilgilerini C# içindeki bir oturum açma kimliğinden kaldırmak istiyorum. Yani, ya "Domain \ me" ya da "Domain \ me" sadece "ben" yapmak istiyorum. Her ikisinin de varlığını kontrol edebilirim ve alt dizini başlatmak için dizin olarak kullanabilirim ... ama daha zarif ve kompakt bir şey arıyorum.C# oturum açma kimliğinden etki alanı bilgilerini kaldırın. #
kötüsü senaryo:
int startIndex = 0;
int indexOfSlashesSingle = ResourceLoginName.IndexOf("\");
int indexOfSlashesDouble = ResourceLoginName.IndexOf("\\");
if (indexOfSlashesSingle != -1)
startIndex = indexOfSlashesSingle;
else
startIndex = indexOfSlashesDouble;
string shortName = ResourceLoginName.Substring(startIndex, ResourceLoginName.Length-1);
Mükemmel nokta: RegEx kullanmak çok daha şık bir çözümdür. – Dan
adı [email protected] biçimidir? Orada 5-razer bıçak çözümü var mı? Teşekkürler – DoomerDGR8
Bunu da yakın zamanda yapmalıydım ('NTAccount' alanından alan kısmını kaldırarak) ve 'Regex.Match (value, "([^\\\\] +) $ ", RegexOptions.None) .Gruplar [0] .Captures [0] .Daha sonra, hesap adı kısmının doğrudan çıkarılması için" Regex.Replace (value, "^. * \\) \\ ", string.Empty, R egexOptions.None); 'İstediğiniz hesap adına kadar her şeyi kaldırmak için. Aynı fark :) – rdev5