c# 인덱서 사용
5321 단어 c#
색인기는 클래스와 구조의 실례가 수조와 같은 방식으로 색인을 할 수 있도록 허용하는데, 색인기는 유사하고 속성이 있으며, 다른 점은 그들의 액세서리가 파라미터를 사용하는 데 있다.유참속성이라고 불린다.
사례:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace
{
class Program
{
static void Main(string[] args)
{
People p = new People();
//
p[0] = " ";
p[1] = " ";
p[2] = " ";
p[3] = " ";
Console.WriteLine("p[0]="+p[0]);
Console.WriteLine("p[1]=" + p[1]);
Console.WriteLine("p[2]=" + p[2]);
Console.ReadLine();
}
public class People
{
private string[] name = new string[10];
// , this , name 0,address 1
public string this[int index]
{
get
{
return name[index];
}
set
{
this.name[index] = value;
}
}
}
}
}
색인기는 클래스와 구조의 실례가 수조와 같은 방식으로 색인을 할 수 있도록 허용하는데, 색인기는 유사하고 속성이 있으며, 다른 점은 그들의 액세서리가 파라미터를 사용하는 데 있다.유참속성이라고 불리다
다중 파라미터 인덱스 사례(참고)
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 2
{
class Program
{
static void Main(string[] args)
{
ScoreIndex s = new ScoreIndex();
s[" ", 1] = 90;
s[" ", 2] = 100;
s[" ", 3] = 80;
s[" ", 1] = 60;
s[" ", 2] = 70;
s[" ", 3] = 50;
Console.WriteLine(" 1 :" + s[" ", 1]);
Console.WriteLine(" :");
ArrayList temp;
temp = s[" "];
foreach (IndexClass b in temp)
{
Console.WriteLine(" :" + b.Name + " :" + b.CourseID + " :" + b.Score);
}
Console.ReadKey();
}
class IndexClass
{
private string _name;
private int _courseid;
private int _score;
public IndexClass(string _name, int _courseid, int _score)
{
this._name = _name;
this._courseid = _courseid;
this._score = _score;
}
public string Name
{
get { return _name; }
set { this._name = value; }
}
public int CourseID
{
get { return _courseid; }
set { this._courseid = value; }
}
public int Score
{
get { return _score; }
set { this._score = value; }
}
}
class ScoreIndex
{
private ArrayList arr;
public ScoreIndex()
{
arr = new ArrayList();
}
public int this[string _name, int _courseid]
{
get
{
foreach (IndexClass a in arr)
{
if (a.Name == _name && a.CourseID == _courseid)
{
return a.Score;
}
}
return -1;
}
set
{
arr.Add(new IndexClass(_name, _courseid, value)); //arr[" ",1]=90
}
}
//
public ArrayList this[string _name]
{
get
{
ArrayList temp = new ArrayList();
foreach (IndexClass b in arr)
{
if (b.Name == _name)
{
temp.Add(b);
}
}
return temp;
}
}
}
}
}
요약:
인덱스:this 키워드는 인덱스를 정의하는 데 사용되며,Class나 Struct는 하나의 인덱스 인덱스만 정의할 수 있습니다. 클래스나 구조의 실례는 그룹과 같은 방식으로 인덱스를 할 수 있습니다.색인기는 속성과 유사하지만, 다른 점은 접근기가 파라미터를 사용한다는 것이다.get 액세서리가 값을 되돌려줍니다.set 액세서리 할당 값.value 키워드는 set 인덱스에 분배된 값을 정의하는 데 사용됩니다.색인기는 정수치에 따라 색인을 할 필요가 없습니다. 특정한 검색 메커니즘을 어떻게 정의하는지 결정하십시오.색인을 다시 불러올 수 있습니다.인덱스에는 2차원 그룹에 접근할 때와 같은 여러 개의 인덱스가 있을 수 있다.인덱스는 백수 값을 사용하여 아래 첨자를 사용할 수 있지만 배열은 정수 아래 첨자만 사용할 수 있습니다. String 아래 첨자를 정의하는 다음 인덱스public int this [string name] {...}
색인과 배열의 비교:
색인기의 색인 값은 형식에 제한이 없습니다.그룹에 접근하는 색인 값은 정수이고 색인기는 다른 종류의 색인 값일 수 있습니다.
색인기는 한 종류에 여러 개의 색인기를 사용할 수 있도록 다시 불러올 수 있습니다.
색인기는 변수가 직접적으로 대응하는 데이터 저장소가 없는 것이 아니다.인덱스에는 get과 set 액세서리가 있습니다.
색인과 속성 비교:
표지 방식: 속성은 이름으로 표시하고 인덱스는 함수 서명으로 표시한다.
색인기는 다시 불러올 수 있습니다.속성은 다시 불러올 수 없습니다.
속성은 정적일 수 있습니다. 색인기는 실례 구성원에 속하고static로 성명될 수 없습니다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C#Task를 사용하여 비동기식 작업을 수행하는 방법라인이 완성된 후에 이 라인을 다시 시작할 수 없습니다.반대로 조인(Join)만 결합할 수 있습니다 (프로세스가 현재 라인을 막습니다). 임무는 조합할 수 있는 것이다. 연장을 사용하여 그것들을 한데 연결시키는 것이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.