C#ÀÇ ¹è¿Àº Ç×»ó ÷ÀÚ°¡ 0ºÎÅÍ ½ÃÀÛÇϵµ·Ï µÇ¾î ÀÖ´Ù. ¸Þ¸ð¸®ÀÇ ±¸Á¶»ó 0ºÎÅÍ ½ÃÀÛÇÏ´Â °ÍÀÌ ´ç¿¬ÇÏÁö¸¸ ¶§·Î´Â ÀÌ·± Ư¼ºÀÌ ºÒÆíÇÒ ¼öµµ ÀÖ´Ù. ¿øÇÑ´Ù¸é ÀÓÀÇÀÇ Ã·ÀÚºÎÅÍ ½ÃÀÛÇÏ´Â ¹è¿À» ¸¸µé ¼öµµ ÀÖ´Ù. À̶§´Â ArrayÀÇ ´ÙÀ½ Á¤Àû ¸Þ¼µå¸¦ »ç¿ëÇÑ´Ù.
public static Array CreateInstance(Type elementType, int[] lengths, int[] lowerBounds)
ÀÌ ¸Þ¼µå´Â ´ÙÂ÷¿ø ¹è¿À» »ý¼ºÇÑ´Ù. ù ¹ø° Àμö´Â ¹è¿ÀÇ ¿ä¼Ò ŸÀÔÀ» ÁöÁ¤ÇÑ´Ù. µÎ ¹ø° Àμö·Î °¢ Â÷¿øÀÇ ±æÀ̸¦ ÁöÁ¤ÇÏ´Â ¹è¿ÀÌ ¿À°í ¼¼ ¹ø° Àμö·Î °¢ Â÷¿øÀÇ ÇÏÀ§ ÷ÀÚ ¹øÈ£¸¦ ÁöÁ¤ÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â ÷ÀÚ°¡ 1ºÎÅÍ ½ÃÀÛÇÏ´Â ±æÀÌ 5ÀÇ 1Â÷¿ø ¹è¿À» »ý¼ºÇÑ´Ù.
¿¹ Á¦ : ArrayIndex |
using System;
class CSTest
{
static void Main()
{
Array arInt = Array.CreateInstance(typeof(int), new int[] { 5 }, new int[] { 1 });
int i;
for (i = arInt.GetLowerBound(0); i <= arInt.GetUpperBound(0); i++)
{
arInt.SetValue(i,i);
Console.WriteLine(arInt.GetValue(i));
}
}
}
GetLowerBound, GetUpperBound ¸Þ¼µå´Â Àμö·Î ÁöÁ¤ÇÑ Â÷¿øÀÇ ÇÏÀ§, »óÀ§ ÷ÀÚ¸¦ ±¸ÇÑ´Ù. arIntÀÇ °æ¿ì ÇÏÀ§´Â 1ÀÌ°í »óÀ§´Â 5ÀÌ´Ù. Áï arInt[1] ~ arInt[5]±îÁöÀÇ ¿ä¼Ò°¡ Á¸ÀçÇÑ´Ù. ÀÌ·¸°Ô ¸¸µé¾îÁø ¹è¿Àº [ ] ¿¬»êÀÚ¸¦ ¾µ ¼ö ¾øÀ¸¹Ç·Î SetValue, GetValue ¸Þ¼µå·Î °ªÀ» ÀÐ°í ½á¾ß ÇÑ´Ù. ÀÏÂ÷¿ø ¹è¿À̹ǷΠÀμö·Î ÷ÀÚ¸¸ Àü´ÞÇÏ¸é µÇÁö¸¸ 2Â÷¿ø ÀÌ»óÀÇ ¹è¿À̶ó¸é ÷ÀÚÀÇ ¹è¿À» Àü´ÞÇØ¾ß ÇÑ´Ù. ´ÙÀ½Àº ÀÓÀÇÀÇ Ã·ÀÚ·Î ½ÃÀÛÇÏ´Â 2Â÷¿ø ¹è¿À» Á¤ÀÇÇÑ´Ù.
using System;
class CSTest
{
static void Main()
{
Array arInt = Array.CreateInstance(typeof(int), new int[] { 2,3 }, new int[] { 1,2 });
int i, j;
for (i = arInt.GetLowerBound(0); i <= arInt.GetUpperBound(0); i++)
{
for (j = arInt.GetLowerBound(1); j <= arInt.GetUpperBound(1); j++)
{
arInt.SetValue(i+j, new int[] {i,j});
Console.WriteLine(arInt.GetValue(new int[] { i, j }));
}
}
}
}
2*3ÀÇ 2Â÷¿ø ¹è¿ÀÌ¸ç °¢ Â÷¿øÀÇ Ã·ÀÚ´Â 1, 2ºÎÅÍ ½ÃÀÛÇÑ´Ù. 2Â÷¿øÀÌ´Ù º¸´Ï °ªÀ» ÀÐÀ» ¶§µµ ¿øÇÏ´Â ¿ä¼Ò¸¦ ÁöÁ¤Çϱâ À§ÇØ ¹è¿À» ³Ñ°Ü¾ß ÇÑ´Ù. ¹è¿À» Á¤ÀÇÇϱâ À§ÇØ ¶Ç ´Ù¸¥ ¹è¿À» ³Ñ°Ü¾ß ÇÑ´Ù´Ï ¿©·¯ ¸ð·Î º¹ÀâÇØ º¸À̴µ¥ ¹è¿À̶õ º»ÁúÀûÀ¸·Î ÁßøµÈ ÀÚ·á ±¸Á¶À̱⠶§¹®¿¡ ±× ±¸Á¶ ÀÚüµµ ÁßøÀûÀÌ´Ù.
²À ¿øÇÑ´Ù¸é ÀÓÀÇÀÇ Ã·ÀÚ ¹üÀ§¸¦ ¸¸µé ¼ö´Â ÀÖÁö¸¸ ¿ÀÈ÷·Á ´õ ºÒÆíÇÏ´Ù. Â÷¸®¶ó ±×³É zero base·Î ¹è¿À» »ý¼ºÇÏ°í Àû´çÈ÷ ÷ÀÚ¸¦ ´õÇؼ »ç¿ëÇϰųª ¾Æ´Ï¸é ÷ÀÚ 0¸¦ ¾²Áö ¾Ê°í ¹ö¸®´Â °ÍÀÌ ´õ °£´ÜÇÏ´Ù. ÷ÀÚÀÇ ¹üÀ§¸¦ »ç¿ëÀÚ°¡ Á÷Á¢ ÁöÁ¤ÇÒ ¼ö ÀÖ´Â ¾ð¾îµéÀÌ °¡²û Àִµ¥ ´å³Ýµµ ÀÌ·± ±â´ÉÀ» Á¦°øÇϱâ´Â ÇÑ´Ù. ±×·¯³ª ¿ö³« º¹ÀâÇÏ°í Çò°¥¸®±â ¶§¹®¿¡ Â÷¶ó¸® ¾È ¾²´Â °Ô ´õ ³ª¾Æ º¸ÀδÙ.