Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Miten tarkistetaan, onko < vertailuoperaattori vai ei?

Jaska [10.11.2023 15:58:07]

#

Pystyyko C#:ssa tarkastamaan algoritmilla, onko lähdekoodissa oleva merkki < pienempi kuin vertailu vai ei, eli a < b olisi vertailu mutta List<T> ei?

Grez [10.11.2023 16:16:18]

#

Tottakai pystyy, mm. kääntäjähän tekee niin.

Ja kääntäjää voi käyttää itsekin koodin analysointiin..

using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;

string code = "if (x < y)";
var syntaxTree = CSharpSyntaxTree.ParseText(code);
var root = syntaxTree.GetRoot();

var lessThanTokens = root.DescendantTokens().Where(t => t.Kind == SyntaxKind.LessThanToken);
if (lessThanTokens.Any())
{
    Console.WriteLine("Less-than comparison detected!");
}

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta