dynamicの間違った使い方
新しい機能を見つけたら、まず、一発ネタをやるのが恒例(?)なので、Genericで汎用アルゴリズム(Sum)を書いてみます。
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace DynamicSample { class Program { // 汎用的に使えるSum static T Sum<T>(params T args) { dynamic sum = default(T); foreach (T arg in args) { dynamic x = arg; sum += arg; } return sum; } static void Main(string args) { // int Console.WriteLine (Sum(1,2,3,4,5,6,7,8,9,10)); // double Console.WriteLine (Sum(0.5, 1.5, 2.5, 3.5, 4.5)); // string Console.WriteLine (Sum("H", "e", "l", "l", "o", ","," ", "W", "o", "r", "l", "d", "!")); // でも、パフォーマンスは期待できないはず・・・ } } } /* 55 12.5 Hello, World! */
数値にも文字列にもSumが使えます。もちろん、dynamicの本来の使用目的はこれではありません。(^^;