2012-01-27 6 views
0

をコンパイルすることはできませんなぜ私はプロVS2010では、WinFormsのをC#を使用し、1行のコードを実行しようとしています:私はLINQコマンド

var count = before.Count(c => c == '/'); 

私はここからだ:How would you count occurrences of a string within a string?

をしかし、それはdoesnの文字列のCountメソッドを認識しないので、エラーが発生しコンパイルされません。 どうすれば修正できますか?何が欠けている?

+1

'before 'のタイプは何ですか? –

+1

@ DBM質問から、「前に」推論できると思うのは「ストリング」です。 – Yuck

+0

はい、それは文字列です – Bohn

答えて

3

ほとんどの場合、あなたはSystem.Linq名前空間やにくく、System.Core.dllアセンブリへの参照のためのusingディレクティブが欠落しています。

てみファイルの先頭にこれを挿入する:それはそれを修正しない場合

using System.Linq; 

、選択し、コンテキストから「参照の追加」、「ソリューションエクスプローラ」からプロジェクトを右クリックメニューを開き、System.Core.dllが参照されていることを確認します。

また、.NET 3.5以降をターゲットにしていることを確認してください(.NET 2.0の回避策があります(LinqBridgeなど)。

+0

私はReferencesを右クリックしてSystem.Coreを見つけようとしましたが、見つけられません – Bohn

+0

私はそれを試していましたが、System.LINQを使ってもわかりません。 – Bohn

+0

どのバージョンのフレームワークをターゲットにしていますか?リストは、そのバージョンでサポートされているアセンブリにフィルターされます。 – Yuck

1

Enumerable.Count()拡張メソッドは.NET Framework 3.5以降で使用できるため、C#プロジェクトで適切なバージョンをターゲットにしていないか、.NET Framework 3.5をまったくインストールしていない可能性があります。

MSDN, version Information:

.NET Framework 
Supported in: 4, 3.5 

.NET Framework Client Profile 
Supported in: 4, 3.5 SP1 
+0

私はそれを試していましたが、これも知らない。 - – Bohn

+0

私の更新された回答を参照 – sll

+0

System.Coreを参照に追加するために検索しましたが、一覧には表示されません。私のVSインストールはおそらく壊れていますか? – Bohn