¤¿¤³¤¼¤ê¡¼¸¦µæ¼¼

ÂçIJ¶ÝDNA¤Ï4.64Mbp¡£¹ÚÊì¤Ï13Mbp¤Ç¡¢¥Ò¥È¤Ï3Gbp

Ion cards Simulator

#46
2 ¿ÍÂÐÀï¤Î²¼¡¢¡Ö¥¤¥ª¥ó¥«¡¼¥É¥²¡¼¥à¡×¤Î¥ë¡¼¥ë¤ò¤½¤³¤½¤³ºÆ¸½¡£¾ì¤ËȯÀ¸¤·¤¿ÄÀŤ䡢ȯÀ¸¤·ÆÀ¤ëÄÀÅ¤ο§¤¬¤¹¤°¤Ë¤ï¤«¤ë»ë³Ðµ¡Ç½¡£¡¡¢ª Download

Windows Update ¥¨¡¼¥¸¥§¥ó¥È¤¬¹¹¿·¤µ¤ì¤¿

#523
[Vista] Windows Update ¥¨¡¼¥¸¥§¥ó¥È 7.4.7600.226

Windows Update ¥¨¡¼¥¸¥§¥ó¥È 7.4.7600.226

Windows 7 ²½¤¬»Ï¤Þ¤Ã¤¿w

string ¤Î foreach

#522
[C#]
(string value)
{
¡¡¡¡foreach (char c in value)
¡¡¡¡{
¡¡¡¡¡¡¡¡if (c != ' ' && c != '\n' && c != '\t')
¡¡¡¡¡¡¡¡¡¡¡¡return false;
¡¡¡¡}
¡¡¡¡return true;
}

[¥³¥ó¥Ñ¥¤¥ë¸å IL -> C# Ūɽ¸½]
(string value)
{
¡¡¡¡string CS$6$0001 = value;
¡¡¡¡int CS$7$0002 = 0;
¡¡¡¡for (int CS$7$0002 = 0; CS$7$0002 < CS$6$0001.Length; CS$7$0002++)
¡¡¡¡{
¡¡¡¡¡¡¡¡char c = CS$6$0001[CS$7$0002];
¡¡¡¡¡¡¡¡if (c != ' ' && c != '\n' && c != '\t')
¡¡¡¡¡¡¡¡¡¡¡¡return false;
¡¡¡¡}
¡¡¡¡return true;
}

foreach (char in string) ¤¬Å¸³«¤µ¤ì¤Æ¤ª¤ë!

string ¥ë¡¼¥×

#520
2 µ­»öϢ³¤Ç C# ¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¥Í¥¿¡£
string str = ....;
for (int i = 0; i < str.Length; i++)
{
¡¡¡¡if (!char.IsControl(str[i])) ...
}

¤¬¡¢unsafe ¤Ç¤¤¤¦¤È¤³¤í¤Î
string str = ....;
fixed (char* cp = str)
{
¡¡¡¡for (char* p = cp; p != '\0'; p++)
¡¡¡¡{
¡¡¡¡¡¡¡¡if (!char.IsControl(*p)) ...
¡¡¡¡}
}

¤È¤Ê¤Ã¤Æ¤¯¤ì¤ë¤À¤í¤¦¤«¡£

¤½¤¦¤¹¤ì¤Ð str.Length ¤ò¥ë¡¼¥×¤Î³°¤Ë½Ð¤µ¤Ê¤¯¤ÆºÑ¤à¤Î¤À¤¬¡£

EqualityComparer.Default ¤Ç¥ê¥Ë¥¢¥µ¡¼¥Á

#519
Ťµ 10 Ëü¤ÎÀ°¿ôÎó¤ò 1000 ²ó¥ê¥Ë¥¢¥µ¡¼¥Á¡£
static void Main(string[] args)
{
¡¡¡¡Stopwatch sw = new Stopwatch();
¡¡¡¡int[] array = Enumerable.Range(1, 100000).ToArray();

¡¡¡¡sw.Start();
¡¡¡¡for (int i = 0; i < 1000; i++)
¡¡¡¡¡¡¡¡One(array, 90000);
¡¡¡¡sw.Stop();
¡¡¡¡Console.WriteLine(sw.Elapsed);
¡¡¡¡sw.Reset();

¡¡¡¡sw.Start();
¡¡¡¡for (int i = 0; i < 1000; i++)
¡¡¡¡¡¡¡¡Two(array, 90000);
¡¡¡¡sw.Stop();
¡¡¡¡Console.WriteLine(sw.Elapsed);
¡¡¡¡sw.Reset();

¡¡¡¡sw.Start();
¡¡¡¡for (int i = 0; i < 1000; i++)
¡¡¡¡¡¡¡¡One(array, 90000);
¡¡¡¡sw.Stop();
¡¡¡¡Console.WriteLine(sw.Elapsed);
¡¡¡¡sw.Reset();
}

static int One(int[] array, int value)
{
¡¡¡¡for (int i = 0; i < array.Length; i++)
¡¡¡¡{
¡¡¡¡¡¡¡¡if (EqualityComparer<int>.Default.Equals(array[i], value))
¡¡¡¡¡¡¡¡¡¡¡¡return i;
¡¡¡¡}
¡¡¡¡return -1;
}

static int Two(int[] array, int value)
{
¡¡¡¡var comparer = EqualityComparer<int>.Default;

¡¡¡¡for (int i = 0; i < array.Length; i++)
¡¡¡¡{
¡¡¡¡¡¡¡¡if (comparer.Equals(array[i], value))
¡¡¡¡¡¡¡¡¡¡¡¡return i;
¡¡¡¡}
¡¡¡¡return -1;
}

¤â¤Á¤í¤ó¼ÂºÝ¤Ë¤Ï Array.IndexOf ¤ò»È¤¨¤Ð¤¤¤¤¤ï¤±¤À¤¬¡£

EqualityComparer.Default ¤ò¥ë¡¼¥×Ãæ¤Ë¸Æ¤Ó½Ð¤¹¤Î¤«¡¢¸Æ¤Ó½Ð¤µ¤Ê¤¤¤Î¤«¡¢¤Î°ã¤¤¤ò¤ß¤¿¤¤¤Ê¤¡¡¢¤È¤¤¤¦Ïá£

·ë²Ì (Release ¥Ó¥ë¥É¤Ç¥Ç¥Ð¥Ã¥°¤Ê¤·¼Â¹Ô¡¢.NET 3.5 / Core2 Duo 2.00GHz) :
00:00:01.3417418
00:00:00.5312608
00:00:01.3143324

¥ë¡¼¥×Æâ¸Æ¤Ó½Ð¤·¥ª¥ï¥¿

Èȿ͢­
call class [mscorlib]System.Collections.Generic.EqualityComparer`1<!0> [mscorlib]System.Collections.Generic.EqualityComparer`1<int32>::get_Default()

¤¬ ldloc.0 ¤Ë¤Ê¤ë¤À¤±¤Ç¤³¤Î®ÅÙº¹ orz
¤³¤³¤ÏµÕ¤Ë¹Í¤¨¤ë¤ó¤À¡£1 ²¯²ó ¤Î¸Æ¤Ó½Ð¤·¤Ç¤è¤¦¤ä¤¯ 0.8 Éäκ¹¤Ê¤ó¤À¤È¡£

FxCop ¤Î MSDN Libary ¤Ø¤Î¥ê¥ó¥¯

#518
FxCop ¤Î¥ë¡¼¥ë¤Çޤé¤ì¤Æ¤¤¤ë¥ê¥ó¥¯¤¬ http://msdn2.microsoft.com/library/ ¤Ç¸Å¤¤¡¢¤Ä¤Ã¤Æ²¿¤È¤«¤·¤¿¤¤¤È¤­¡£

FxCop.exe.config Æâ¤Î

<add key="DocumentationUrlRoot" value="http://msdn.microsoft.com/ja-jp/library/" />

¤«¤éÊѤ¨¤é¤ì¤ë¡£¤Ä¤¤¤Ç¤À¤«¤é¡¢ÆüËܸì¤ËÈô¤Ö¤è¤¦¤Ë¤·¤Æ¤ª¤¤¤¿¡£