0316 배열 복습
2021. 3. 16. 11:33ㆍC#/수업내용
public class Fruits
{
private string name;
public Fruits(string name) {
this.name = name;
}
public string GetName() {
return this.name;
}
}
public class App
{
public App()
{
//Item 배열 변수 선언
Item[] items;
//배열 인스턴스화 (배열 생성)
items = new Item[3];
//Item 객체 생성 //ItemData.cs
//ItemData 생성자
ItemData data = new ItemData("장검", 20, eItemType.WEAPON);
Item item = new Item(data);
//배열에 요소에 값 할당
items[0] = item;
//배열의 요소 출력
foreach (Item element in items)
{
Console.WriteLine("{0}", item.data.name);
}
}
}
namespace ConsoleApp2
{
public enum eItemType
{
WEAPON,
ARMOR,
ACCESSORY
}
public class ItemData
{
public string name;
public int damage;
public eItemType itemType;
//기본생성자
public ItemData()
{ }
//매개변수가 있는 생성자
//overloading
public ItemData(string name, int damage, eItemType itemType)
{
this.name=name;
this.damage = damage;
this.itemType = itemType;
}
}
}
amespace ConsoleApp2
{
public class Item
{
public ItemData data;
public Item()
{
}
public Item(ItemData data)
{
this.data = data;
}
}
}
객체 생성
배열선언하고 생성
배열에 요소 추가
배열에 특정 요소 출력
배열에 모든 요소 출력
배열의 요소를 검색
배열의 요소를 제거
public class App
{
//생성자
public App() {
//Fruits배열변수 선언
Fruits[] arrFruits;
//배열 인스턴스화
arrFruits = new Fruits[5];
//Fruits 객체 생성
Fruits fruits1 = new Fruits("사과");
Fruits fruits2 = new Fruits("복숭아");
Fruits fruits3 = new Fruits("수박");
Fruits fruits4 = new Fruits("귤");
//배열 요소에 추가
arrFruits[0] = fruits1;
arrFruits[1] = fruits2;
arrFruits[2] = fruits3;
arrFruits[3] = fruits4;
//배열 요소를 출력
foreach (Fruits fruits in arrFruits) {
if (fruits != null) {
Console.WriteLine(fruits.GetName());
}
}
//배열요소에서 이름이 "사과"인 Fruits객체를 검색
Fruits foundFruits = null;
string searchName = "사과";
foreach (Fruits fruits in arrFruits)
{
if (fruits != null && fruits.GetName() == searchName) {
foundFruits = fruits;
break;
}
}
if (foundFruits != null)
{
Console.WriteLine("{0}를 찾았습니다.", foundFruits.GetName());
}
else
{
Console.WriteLine("{0}를 못찾았습니다.", searchName);
}
//배열요소에서 이름이 "복숭아"인 Fruits객체를 삭제
for (int i = 0; i < arrFruits.Length; i++) {
var fruits = arrFruits[i];
if (fruits != null && fruits.GetName() == "복숭아")
{
Console.WriteLine("{0}를 찾았습니다.", fruits.GetName());
arrFruits[i] = null;
break;
}
}
Console.WriteLine("*************************************");
foreach (Fruits fruits in arrFruits)
{
if (fruits == null)
{
Console.WriteLine("[empty]");
}
else
{
Console.WriteLine(fruits.GetName());
}
}
}
'C# > 수업내용' 카테고리의 다른 글
0316 Collection> Dictionary (0) | 2021.03.16 |
---|---|
0316 ArrayList/제너릭 클래스 (0) | 2021.03.16 |
0312 상속 inheritance (0) | 2021.03.12 |
0312 생성자 (0) | 2021.03.12 |
0312 메서드 오버로딩 (0) | 2021.03.12 |