2011-08-11 47 views

答えて

5

この

a.IndexOf('*') >= 0 && a.IndexOf('*') < 20 

が魅力のように動作するはず試してみてください

編集:IndexOfメソッドも-1を返します文字が、全く見つからなかった場合に有用することができました私が推測する情報。それはこれはそれを行うだろう、新しい文字列オブジェクトに

+0

'> -1'をチェックするのを忘れた – herzmeister

+0

-1は、私はこのように好きです –

2
bool contains = (a.Length > 20) ? a.Substring(0, 20).Contains("*") : a.Contains("*"); 

if(contains) 
{ 
    etc...
+0

文字列の長さが20未満 –

+0

@Jkを持っている場合、これは 'ArgumentOutOfRangeException'がスローされます: - 文字列が短すぎる場合には、このコードは失敗しますすべての解決策が問題です。行の長さが20文字未満の場合はどうなりますか? – Jason

+0

@Jason、修正の最終更新を参照... –

3
a.Substring(0, 20).Contains('*'); 
+0

文字列の長さが20より小さい場合、これは 'ArgumentOutOfRangeException'をスローします。 –

0

- 私が試した

bool b1 = a.Substring(0, 20).Contains('*'); 
2

を作成しませんが、あなたは文字列の長さをチェックする必要があり、これは、サブ文字列ベースのソリューションより簡単かつ効率的である

a.Take(20).Contains('*') 

:LINQのを使用して

関連する問題