1

DataSet 内の DataTable で select メソッドを使用して、DataRows の配列を返しています。これは正常に動作しますが、私のアレイにはCount メソッドがありませんか??

理由がわかりません。別のアプリケーション内でほぼ正確なステートメントを使用しており、Count メソッドを使用しています。

両方のアプリで System.Data への参照を確認しましたが、同じです。クラスの上部にある using ステートメントも確認しましたが、どちらも同じように設定されています。つまり、System.Data を使用します。

これが私のコードです:

DataRow[] selectedRecords = myDataset.Tables["Records"].Select();

今私はやろうとしています:

selectedRecords.Count()

しかし、私はカウントメソッドを持っていません!?!?!

私はC#4.0を使用しています

前もって感謝します。

4

5 に答える 5

5

CountではなくArray.Lengthを使用します。配列にはCountプロパティがありません。LINQのCount()メソッドを具体的に使用しようとしている場合は、System.Linq名前空間をインポートする必要があります

于 2012-06-15T13:25:37.220 に答える
5

配列はを使用しますLength。ただし、Linq名前空間をインポートする場合は、Count()拡張メソッドがあります。

于 2012-06-15T13:25:41.580 に答える
4

あなたが探しています

selectedRecords.Length;
于 2012-06-15T13:25:45.367 に答える
4
  1. .Count()アレイを作成できるようにするusing System.Linq;には、有効である必要があります
  2. またはあなたはただ使うことができます.Length...
于 2012-06-15T13:26:06.837 に答える
0

他の人が説明したようにプロパティを使用できますがLength、配列もIListインターフェイスを実装し、それがプロパティICollectionを定義するものを実装しCountます。ただし、配列に明示的に実装されているため、インターフェイスを介してのみアクセスできます。

public int GetCountOf(ICollection coll) {
    return coll.Count;
}

...

int cnt = GetCountOf(myArray);

または

int cnt = ((ICollection)myArray).Count;

Countここでは、配列に含まれるアイテムの数ではなく、配列の長さを返します。つまり、配列はすべてのnullエントリを持つことができます。

于 2012-06-15T13:45:14.063 に答える