teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

誤字訂正

2020/04/24 09:19

投稿

退会済みユーザー
answer CHANGED
@@ -15,7 +15,7 @@
15
15
 
16
16
  > ② 上記に記載の【datファイルへの出力イメージ】のように"勤続年数"を算出する方法が分からない。
17
17
 
18
- 「入社日」と「退職日」は DataTable では DateTime 型になっていると思います(確認してください)。であれば、上の画像の Select new Result { ... } の ... で "勤続年数" に該当するプロパティに値を代入する際、「入社日」と「退職日」の値を引き算して(結果は TimeSpan 型になるはず)〇年〇ヶ月という文字列の意書式設定すれば望む結果が得られるはずです。
18
+ 「入社日」と「退職日」は DataTable では DateTime 型になっていると思います(確認してください)。であれば、上の画像の Select new Result { ... } の ... で "勤続年数" に該当するプロパティに値を代入する際、「入社日」と「退職日」の値を引き算して(結果は TimeSpan 型になるはず)〇年〇ヶ月という文字列書式設定すれば望む結果が得られるはずです。
19
19
 
20
20
 
21
21
  > ③ 上記に記載の【datファイルへの出力イメージ】の〇年〇月や〇年〇月〇日、〇年〇ヶ月というように出力するための書き方が分からない。同じくどこに、どのような方法でコードを書けば良いかが分かりません。

1

タイポ訂正

2020/04/24 09:19

投稿

退会済みユーザー
answer CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  まず、【datファイルへの出力イメージ】のもとになるデータを List(Of T) オブジェクト(DataTable ではなく)として取得することにします。その T クラスの定義を追加してください。
9
9
 
10
- DataTableExtensions.AsEnumerable メソッドを使って、それぞれの DataTable から EnumerableRowCollection(Of TRow) オブジェクトを取得し、それらを Lind to Object を使って結合して List(Of T) 型オブジェクトを生成します。
10
+ DataTableExtensions.AsEnumerable メソッドを使って、それぞれの DataTable から EnumerableRowCollection(Of TRow) オブジェクトを取得し、それらを Linq to Object を使って結合して List(Of T) 型オブジェクトを生成します。
11
11
 
12
12
  以下のような感じです(あくまで感じ。コードは C# です)。上でいう T クラスが下の画像の Result クラスに該当します(下の例では内部結合の結果 List(Of Result) オブジェクトが取得できています)。質問者さんのケースでは、上で言う T クラスのプロパティは全部 String 型で良いと思います。
13
13