Ok, also weiß ich, dass Fragen WIE das hier sehr oft gefragt wurde, aber ich kann nicht scheinen, dass Lösungen funktionieren. Ich versuche, eine Zeichenfolge aus einer Datei zu nehmen und das längste Wort in dieser Zeichenfolge zu finden. Einfach.Das längste Wort in der Zeichenkette finden
Ich denke, die Frage ist, nach unten, ob ich meine Methoden einer anzurufenden auf string[]
oder char[]
, derzeit stringOfWords
gibt ein char[]
.
Ich versuche, dann durch absteigende Länge zu bestellen und den ersten Wert zu erhalten, aber bekomme eine ArgumentNullException
über die OrderByDescending
Methode.
Jeder Eingang sehr geschätzt.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
namespace TextExercises
{
class Program
{
static void Main(string[] args)
{
var fileText = File.ReadAllText(@"C:\Users\RichardsPC\Documents\TestText.txt");
var stringOfWords = fileText.ToArray();
Console.WriteLine("Text in file: " + fileText);
Console.WriteLine("Words in text: " + fileText.Split(' ').Length);
// This is where I am trying to solve the problem
var finalValue = stringOfWords.OrderByDescending(n => n.length).First();
Console.WriteLine("Largest word is: " + finalValue);
}
}
}
-Code Sie‘ Als "Dies ist, wo ich versuche, das Problem zu lösen" gepostet, sieht nicht wie C# (wie alle. Net Eigenschaften/Methoden sind Großbuchstaben). Dieser Code sollte stattdessen kompilieren Fehler geben ... –
Verwenden von var für alle Ihre Variablen-Deklarationen macht Ihren Code weniger lesbar. –
@MrAnderson das ist eine Frage der Meinung. – stuartd