2016-09-07 3 views
-2

文字列を含む入力変数が"domain\alias"です。これをドメインとエイリアスの2つの異なる文字列に分割する必要があります。domain aliasの形式で文字列を分割する

文字列のリテラルへの変換についてはどこか聞こえましたが、ここでどのように役立つのか分かりません。ドメインが指定されていない場合でも、ユーザーを取得したい場合

+0

'doamin' - >' domain' typo?あなたは例を見せてもらえますか? –

+0

これは例です。はい、それはタイプミスでした。 私の変数はxyzです。ドメイン\エイリアスの形式で文字列を含みます。 今私はxyzを2つの異なる文字列に分割したい:ドメインとエイリアス – dotnetman

答えて

1

書き込み

var x = @"doamin\alias".Split('\\') 

は、それはあなたの内容

x[0] = "doamin" 
x[1] = "alias" 

whith配列を与える:

var user = x.Length == 2 ? x[1] : x[0]; 
var domain = x.Length == 2 ? x[0] : null; 
+0

ありがとう。しかし、変数xyzに文字列があるとすれば、上記の方法はうまくいかないと思う。 – dotnetman

+0

文字列の先頭に「@」を付けない限り、Infactは上記の場合にも機能しません。 – dotnetman

+0

まあ '@" domain \ alias "は*"ドメイン\\エイリアス "と同じです。文字列の前に '@'を置くと、バックスラッシュをエスケープする必要はありません。 http://stackoverflow.com/questions/556133/whats-the-in-front-of-a-string-in-c – mortb

1
string input = @"domain\alias"; 
int inputindex= input.IndexOf("\\");   
string domain = input.Substring(0, inputindex); 
string alias = input.Substring(inputindex+1); 
+0

これは、入力にバックスラッシュ( '\')が含まれていない場合にスローされます。 'IndexOf()'は-1を返します。 – CodeCaster

+1

はい。しかし、@ dotnetmanが尋ねた質問では、この例外を指定しませんでしたか? –

+1

防衛プログラミングについて読んでください。 – CodeCaster