Индексаторы, свойства - C#

Узнай цену своей работы

Формулировка задачи:

есть string[] ms внутриего лежат слова 1) есть сво-во Site - возврощет размер массива 2) функция add() добоавлет новойслово в массив слов void add(string s) размер фиксированный!
main()
{
       StringList  sl  =  new StringList();
       sl.add("sedfds");
       sl.add("sdsdf");
// ...
// ...
// ..
}
т.е. если мыввели 2 слова, то size = 2; индексаторы 1) public string this[int x]; - возврощает строку пономеру индекса 2) public int this[string s]; - -//-//- если кто может, помогите, так как то что в книгах анписано про индексаторы понятно все а вот с эти попал в тупик.. комментам в коде буду очень рад!

Решение задачи: «Индексаторы, свойства»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Text;
 
class TempRecord
{
    private string[] array = new string[5];
    private int x = 0;
 
    public int X        //Свойство Х
    {
        get { return x; }
        set
        {
            if (value >= 0)
                x = value;
        }
    }
 
 
    public string this[int i]
    {
        get
        {
            return array[i];
        }
        set
        {
            if (i < array.Length)
            {
                array[i] = value;
            }
            else throw new Exception("Your index is bigger then Length of array");
        }
    }
 
 
    public int this[string s]
    {
        get
        {
            for(int i=0; i<array.Length; i++)
            {
                if(s == array[i])
                    return i;
            }
            return -1;
        }
    }
 
    public void add(string s)
    {
        
        this[x] = s;
        this.X++;
        
    }
}
 
class MainClass
{
    static void Main()
    {
        TempRecord sample = new TempRecord();
 
        sample.add("1qweqwe");
        sample.add("2qwerwe");
        sample.add("3ewrer");
        sample.add("4sedfsdf");
 
        Console.WriteLine(sample[0]);
        Console.WriteLine(sample[1]);
        Console.WriteLine(sample[2]);
        Console.WriteLine(sample[3]);
 
        Console.WriteLine("\n---------------\n");
 
        Console.WriteLine(sample["1qweqwe"]);
        Console.WriteLine(sample["2qwerwe"]);
        Console.WriteLine(sample["3ewrer"]);
        Console.WriteLine(sample["4sedfsdf"]);
 
 
 
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы