質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

0回答

966閲覧

csvファイルから値を出力したい

yosutebito092

総合スコア26

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2021/09/05 13:09

社員番号とかが書いたCSVがあって、ClassEmployeeInfoクラスを継承して社員番号と氏名と年齢が出力できるようにという課題です。
C#に慣れてなくて書き方がよくわかりません。どのようにすればいいのか教えていただきたいです

1.csvからの値抽出クラス

class ClassEmployeeInfo { /// <summary> /// 社員情報構造体 /// </summary> public struct StEmployeeInfo { /// <summary> /// 社員番号 /// </summary> internal string EmployeeNo; /// <summary> /// 氏名 /// </summary> internal string EmployeeName; /// <summary> /// 生年月日 /// </summary> internal DateTime Birthday; /// <summary> /// 有効/無効 /// </summary> internal bool Enable; } /// <summary> /// 社員情報リスト /// </summary> private List<StEmployeeInfo> pgEmployees; /// <summary> /// デフォルトコンストラクタ /// </summary> public ClassEmployeeInfo() { pgEmployees = new List<StEmployeeInfo>(); } /// <summary> /// 社員情報の追加 /// </summary> /// <param name="_EmployeeInfo">社員情報</param> protected void AddEmployeeInfo(StEmployeeInfo _EmployeeInfo) { var ret = pgEmployees.AsEnumerable().Where(x => x.EmployeeNo == _EmployeeInfo.EmployeeNo); if (ret.Count() > 0) throw new EWarningException($"社員番号{_EmployeeInfo.EmployeeNo}が重複しています。"); pgEmployees.Add(_EmployeeInfo); } /// <summary> /// 社員情報の更新 /// </summary> /// <param name="_EmployeeInfo">社員情報</param> protected void UpdateEmployee(StEmployeeInfo _EmployeeInfo) { for (var i = 0; i < pgEmployees.Count; i++) { if (pgEmployees[i].EmployeeNo == _EmployeeInfo.EmployeeNo) pgEmployees.RemoveAt(i); } pgEmployees.Add(_EmployeeInfo); } /// <summary> /// 社員情報の削除 /// </summary> /// <param name="_EmployeeNo"></param> protected void DeleteEmployee(string _EmployeeNo) { for (var i = 0; i < pgEmployees.Count; i++) { if (pgEmployees[i].EmployeeNo == _EmployeeNo) pgEmployees.RemoveAt(i); } } /// <summary> /// 社員情報構造体配列の取得 /// </summary> /// <param name="_EmployeeNo">社員番号配列</param> /// <returns></returns> protected StEmployeeInfo[] GetEmployeeInfos(string[] _EmployeeNo) { var ret = pgEmployees.AsEnumerable().Where(x => _EmployeeNo.Contains(x.EmployeeNo)).ToList<StEmployeeInfo>(); return ret.ToArray(); } /// <summary> /// 社員情報の取得 /// </summary> /// <param name="_EmplyeeNo">社員番号</param> /// <returns></returns> protected StEmployeeInfo GetEmployeeInfo(string _EmplyeeNo) { var ret = pgEmployees.AsEnumerable().Where(x => x.EmployeeNo == _EmplyeeNo).ToList<StEmployeeInfo>(); if (ret.Count ==0) throw new EWarningException($"社員番号{_EmplyeeNo}の社員は存在しません。"); return ret[0]; } }

}

2.自分で作ったイテレータークラス

public class ClassEmployeeInfo : Employee
{
Console.WriteLine("社員番号は{0}"です,_EmployeeNo);
}
}
}

イテレーターの書き方も怪しいのでよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2021/09/05 13:37

怪しいというレベルじゃなく、何も知りませんよね? レベル上げをせずボス戦に挑むタイプの人ですか?
gentaro

2021/09/05 13:46

課題なら授業で習った知識で回答できるでしょ。 ここで質問する話じゃない。
yosutebito092

2021/09/05 14:31

書き方とかろくに教えてもらえず概念だけ説明されてこれ作れって感じです
yosutebito092

2021/09/05 15:15

すみませんでした。一人で頑張ります
m.ts10806

2021/09/05 21:18

>C#に慣れてなくて 慣れてる言語なら書けるのでしょうか?
BeatStar

2021/09/06 03:26

> 書き方とかろくに教えてもらえず概念だけ説明されてこれ作れって感じです 皆そうです。 つか、常に受け身な人ほどそういうこと、言うよね。 特に趣味&独学だとそんなことは言ってられません。 独学やっている人が「誰も手取り足取り教えてくれないからわからない」ってなりますかね? つまり単なる甘え。 昔ならいざ知らず、今やネットでググればいくらでも解説はついているし、 公式も出していたりする。(特にC#) 常に受け身だから「できるわけない」です。
BeatStar

2021/09/06 03:28

それに、コードも野ざらしで提示されている。 これでは『読まなくていい』と言っているようなもの。 回答者からすれば非常に読みづらい。 長文を改行無し、すべてひらがなで、句読点のようなものも一切ない。 読みやすいでしょうか。 そういうレベルです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問