12. 練習問題#2
(1)
int x = 10;
int y = x;
x = 20;
このとき、
x,yの値は?
(2)
char[] s =
new[]{‘C’,’S’,’h’,’a’,’r’,’p’};
char[] t = s;
s[0]=‘F’;
このとき、s,tの値は?
(3)
string a = “abc”;
string b = a;
a = “def”;
このとき、
a,bの値は?
13. 練習問題#1(解答例)
static void Main(string[] args) {
Nabeatu(1, 100);
}
static void Nabeatu(int start, int finish) {
for (int i = start; i < finish + 1; i++)
{
if (i % 3 == 0 || i.ToString().Contains("3"))
Console.WriteLine("Three");
else
Console.WriteLine(i);
}
}
14. 練習問題#2(解答)
(1)int型は値型なので、y = xでは、10という値そのものが渡される。なのでxの値
を変更しても、yには影響はない。
よって答えはx = 20, y = 10
(2)配列は参照型なので、t = s では、sがどこを参照しているかという情報がtに代
入される。なので、sの値を変更してしまうと同じ場所を参照しているtも値が変
わってしまう。
よって答えはs = {‘F’,’S’,’h’,’a’,’r’,’p’}, t = {‘F’,’S’,’h’,’a’,’r’,’p’};
(3)string型は参照型だが、string型は、コピーするときに同じ内容の新しいデータ
を作成するので、別のデータを参照している。よって、aの値を変更しても、bに
影響はない
よって答えはa= “def” , b = “abc”
(1)
int x = 10;
int y = x;
x = 20;
このとき、x,yの値は?
(2)
char[] s = new[]{‘C’,’S’,’h’,’a’,’r’,’p’};
char[] t = s;
s[0]=‘F’;
このとき、s,tの値は?
(2)
char[] s = new[]{‘C’,’S’,’h’,’a’,’r’,’p’};
char[] t = s;
s[0]=‘F’;
このとき、s,tの値は?
static void Main(string[] args) {
FizzBuzz(1, 100);
}
static void FizzBuzz(int start, int finish) {
for (int i = start; i < finish + 1; i++)
{
if (i % 3 == 0 && i % 5 == 0)
Console.WriteLine("FizzBuzz");
else if (i % 5 == 0)
Console.WriteLine("Buzz");
else if (i % 3 == 0)
Console.WriteLine("Fizz");
else
Console.WriteLine(i);
}
}