Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

C# Intermediate C# Polymorphism Virtual Properties

code wont compile, i literally copied and pasted then added override.

it says to look at the errors but output isn't even an option. also could you point me to where you guys explained the use of the lambda operator here? i need a refresher.

RepeatDetector.cs
namespace Treehouse.CodeChallenges
{
    class RepeatDetector : SequenceDetector
    {

        public override string Description => "Detects repetitions";
        public override bool Scan(int[] sequence)
        {
            if(sequence.Length < 2)
            {
                return false;
            }

            for(int i = 1; i < sequence.Length; ++i)
            {
                if(sequence[i] == sequence[i-1])
                {
                    return true;
                }
            }

            return false;
        }
    }
}
SequenceDetector.cs
namespace Treehouse.CodeChallenges
{
    class SequenceDetector
    {
        public string Description => "";

        public virtual bool Scan(int[] sequence)
        {
            return true;
        }
    }
}

2 Answers

andren
andren
28,558 Points

By "Lambda operator" I assume you are referring to the => used in the Description property.

While it looks a bit like a lambda expression (which C# does support) it is actually not. It is an example of Expression-bodied members. Which is syntactic sugar built into C# that allows you to succinctly declare things like methods, property getters/setters, and constructors that fit one a single line.

The video where this concept was introduced was the Expression Bodied Members lecture in the C# Objects course.

Great! Thank you, I had to take a bit of a deviation on my learning over to python so I forgot a few things.

I forgot the word "virtual", id still like a pointer to where they explain the lambda operator though.