C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 131 を表示中)
■77298 / )  Re[1]: 変換方法について
□投稿者/ ぶなっぷ (54回)-(2015/10/06(Tue) 10:46:17)
2015/10/06(Tue) 10:46:40 編集(投稿者)
では、考えるためのヒントを、

今、使用しているメソッド、
  List.ConvertAll()
ですが、正確な定義は以下の通りです。
(C#くさいので、C#における定義を示す)

public List<TOutput> ConvertAll<TOutput>(
    Converter<T, TOutput> converter
)

ここで、Converterというのはデリゲートです。
デリゲート分かりますか?
語弊があるのを承知で一言で言うならメソッド(関数)を入れる変数です。
分からなかったら勉強してください。

で、Converterデリゲートの定義は以下の通りです。
  public delegate TOutput Converter<in TInput, out TOutput>(
      TInput input
  )

うまく行く方の int.Parse() の定義ですが、
  public static int Parse(
      string s
  )
です。

デリゲートと引数、戻り値が一緒でしょ。
だから呼べるんです。

x.ToString() はデリゲートに一致しない。

Convert.ToInt32(x)はConvert.ToString(x)の間違いかと思われるが、
直せば動くよ。

でもね、この機会だから、みなさんもおっしゃっているとおり、
なぜ動くかを理解することをお勧めします。

返信 編集キー/


管理者用

- Child Tree -