開発環境
- Microsoft Windows 7 Home Premium (OS)
- Microsoft Visual C# 2010 Express Edition (IDE)
- 言語: C#
独習C# 第3版 ハーバート・シルト (著) エディフィストラーニング株式会社 矢嶋聡 (監修, 翻訳) の第9章(Cインターフェイス、構造体、列挙型)の理解度チェック1、2、3、4、5、6を解いてみる。
7.
コード
using System;
public interface IFailSoftArray
{
int Length { get; }
int this[int index] { get; set; }
}
public class FailSoftArray : IFailSoftArray
{
int[] a;
public bool ErrFlag;
public FailSoftArray(int size)
{
a =new int[size];
Length = size;
}
#region IFailSoftArray
public int Length { get; private set; }
public int this[int index]
{
get
{
if (ok(index))
{
ErrFlag = false;
return a[index];
}
else
{
ErrFlag = true;
return 0;
}
}
set
{
if (ok(index))
{
a[index] = value;
ErrFlag = false;
}
else ErrFlag = true;
}
}
#endregion
private bool ok(int index)
{
if (index > 0 && index < Length)
{
return true;
}
return false;
}
}
class Tester
{
public void Run()
{
FailSoftArray fs = new FailSoftArray(5);
int x;
for (int i = 0; i < fs.Length; i++)
{
fs[i] = i * 10;
}
for (int i = 0; i < fs.Length; i++)
{
x = fs[i];
if (x != -1)
{
Console.Write("{0} ", x);
}
}
Console.WriteLine();
}
static void Main()
{
Tester t = new Tester();
t.Run();
}
}
入出力結果(Console Window)
0 10 20 30 40 続行するには何かキーを押してください . . .
0 コメント:
コメントを投稿