为什么我得到“;需要一个get或set访问器“;在这里

本文关键字:get 一个 set 在这里 访问 为什么 | 更新日期: 2023-09-27 17:58:31

在下面的注释行中,为什么我得到错误

需要获取或设置访问器

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SingleLinkedList
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
    public class SingleLinkedList<T>
    {
        private class Node
        {
            T Val;
            Node Next;
        }
        private Node _root = null; 
        public T this[int index]
        {
            for(Node cur = _root; // error pointing to here
                index > 0 && cur != null; 
                --index, cur = cur.Next);
            if(cur == null)
                throw new IndexOutOfRangeException();
            return cur.Val;
        }
    }
}

为什么我得到“;需要一个get或set访问器“;在这里

您需要指定一个getter:

public T this[int index]
{
    get 
    {
        for(Node cur = _root;
            index > 0 && cur != null; 
            --index, cur = cur.Next);
        if(cur == null)
            throw new IndexOutOfRangeException();
        return cur.Val;
    }
}