コンソールアプリケーションc#でSystem.InvalidCastExceptionを取得する

user9470599

データテーブルで列の中央値を見つけたいのですSystem.InvalidCastExceptionが、コンソールアプリケーションでエラー発生します。これを整理する方法はありますか?データ表

datatablecol画像

DataTableには、(ggg、htt、yy)のような文字列値、または%、$、#、@、!、*、&のような特殊文字、またはignoneである必要があるNullまたは空の文字列を含めることもできます。

        Program p = new Program();
           double  med=p.GetMedianFromDataTable(csvData, "Data Value");


public double GetMedianFromDataTable(DataTable dt, string columnName)
        {
            //extract data from datacolumn and build and a double array
            double[] values =
             Array.ConvertAll<DataRow, double>(
               dt.Select(),
               delegate (DataRow row) { return (double)row[columnName]; } //getting error here
             );
            return GetMedianFromArray(values);
        }

        public double GetMedianFromArray(double[] values)
        {
            double median;
            //sort the array
            Array.Sort(values);
            if (values.Length % 2 != 0)
            {
                median = values[values.Length / 2];
            }
            else
            {
                int middle = values.Length / 2;
                double first = values[middle];
                double second = values[middle - 1];
                median = (first + second) / 2;
            }
            return median;
        }
リチャーディシモ

例外は、すべての値がdoubleであるとは限らないことを示しています。質問では明確になっていないので、データテーブルの値は文字列だと思います。このlinqステートメントは、doubleである値を選択し、それらを変換します。これはtryparseの変数のインライン宣言を使用することに注意してください。これは、古いC#コンパイラでは機能しません)

double[] values = dt.Rows.OfType<DataRow>()
    .Select(dr=>dr[columnName].ToString())
    .Where(v=>double.TryParse(v, out double ignore))
    .Select(v=>double.Parse(v))
    .ToArray();

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

C#コンソールアプリケーションでAPIを使用してJSONを取得する

分類Dev

System.ConfigurationをC#コンソールアプリケーションに追加する

分類Dev

C#コンソールアプリケーションでエラーKeyEventHandlerを修正する方法は?

分類Dev

C#でコンソールアプリケーションからWebアプリケーションを実行する方法

分類Dev

コンソールアプリケーションで値を出力する方法C#

分類Dev

C#コンソールアプリケーションでUnicodeを使用できますか?

分類Dev

エラー、c#コンソールアプリケーションの正規表現が無効です

分類Dev

C#コンソールアプリケーションをASP.NETMVCアプリに変換する

分類Dev

C#でコンソールアプリケーションを自動的に一時停止します

分類Dev

C#コンソールアプリケーションでDatetime変数を常に更新します

分類Dev

C#コンソールアプリケーションで出力画面が突然消えますか?

分類Dev

C#値は常に0コンソールアプリケーションです

分類Dev

コンソールアプリケーションを介してC#出力をランダム化する

分類Dev

C#コンソールアプリケーションにSystem.Drawing名前空間を追加できません

分類Dev

C#コンソールアプリケーションはwhileループを実行します

分類Dev

C#コンソールアプリケーションで.exeなどのファイルタイプをフィルタリングする方法

分類Dev

C#コンソールアプリケーションから通知を送信する方法

分類Dev

C#コンソールアプリケーションをGUIと統合する

分類Dev

DataTable列を並べて表示するC#コンソールアプリケーション

分類Dev

Google BigqueryをC#コンソールアプリケーションと統合する方法

分類Dev

Windowsアプリケーションでコンソールアプリケーションを起動し、コマンドラインを読み取る(監視する)方法-C#でリアルタイムに1行ずつ

分類Dev

キーボード入力を取得するC#.NETコンソールアプリケーション

分類Dev

コンソールアプリケーションで画像を表示する

分類Dev

コンソールアプリケーションでKeysConverterを使用する

分類Dev

C#を使用してコンソールアプリケーションでコマンドまたはプロセスを実行する方法

分類Dev

C#コンソールアプリケーションはプロセスを前面に出します

分類Dev

コンソールアプリケーションでテーブル名を取得する

分類Dev

C#コンソールアプリケーションのGoogleドライバーでファイルのdownloadUrlを取得します

分類Dev

C#でコンソールアプリケーションを終了するコマンドは何ですか?

Related 関連記事

  1. 1

    C#コンソールアプリケーションでAPIを使用してJSONを取得する

  2. 2

    System.ConfigurationをC#コンソールアプリケーションに追加する

  3. 3

    C#コンソールアプリケーションでエラーKeyEventHandlerを修正する方法は?

  4. 4

    C#でコンソールアプリケーションからWebアプリケーションを実行する方法

  5. 5

    コンソールアプリケーションで値を出力する方法C#

  6. 6

    C#コンソールアプリケーションでUnicodeを使用できますか?

  7. 7

    エラー、c#コンソールアプリケーションの正規表現が無効です

  8. 8

    C#コンソールアプリケーションをASP.NETMVCアプリに変換する

  9. 9

    C#でコンソールアプリケーションを自動的に一時停止します

  10. 10

    C#コンソールアプリケーションでDatetime変数を常に更新します

  11. 11

    C#コンソールアプリケーションで出力画面が突然消えますか?

  12. 12

    C#値は常に0コンソールアプリケーションです

  13. 13

    コンソールアプリケーションを介してC#出力をランダム化する

  14. 14

    C#コンソールアプリケーションにSystem.Drawing名前空間を追加できません

  15. 15

    C#コンソールアプリケーションはwhileループを実行します

  16. 16

    C#コンソールアプリケーションで.exeなどのファイルタイプをフィルタリングする方法

  17. 17

    C#コンソールアプリケーションから通知を送信する方法

  18. 18

    C#コンソールアプリケーションをGUIと統合する

  19. 19

    DataTable列を並べて表示するC#コンソールアプリケーション

  20. 20

    Google BigqueryをC#コンソールアプリケーションと統合する方法

  21. 21

    Windowsアプリケーションでコンソールアプリケーションを起動し、コマンドラインを読み取る(監視する)方法-C#でリアルタイムに1行ずつ

  22. 22

    キーボード入力を取得するC#.NETコンソールアプリケーション

  23. 23

    コンソールアプリケーションで画像を表示する

  24. 24

    コンソールアプリケーションでKeysConverterを使用する

  25. 25

    C#を使用してコンソールアプリケーションでコマンドまたはプロセスを実行する方法

  26. 26

    C#コンソールアプリケーションはプロセスを前面に出します

  27. 27

    コンソールアプリケーションでテーブル名を取得する

  28. 28

    C#コンソールアプリケーションのGoogleドライバーでファイルのdownloadUrlを取得します

  29. 29

    C#でコンソールアプリケーションを終了するコマンドは何ですか?

ホットタグ

アーカイブ