Ich muss eine Funktion, die längeres Wort von zwei eingegeben eingeben. Ich habe versucht, if-Anweisung und String.Length
zu verwenden, aber ich kann es nicht richtig machen. Was wäre der beste Weg, um die Funktion zu machen? Unten ist das Hauptprogramm.Vergleichen von String-Längen in C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
public class LongerWord
{
public static void Main(string[] args)
{
Console.Write("Give 1. word >");
String word1 = Console.ReadLine();
Console.Write("Give 2. word >");
String word2 = Console.ReadLine();
String longer = LongerString(word1, word2);
Console.WriteLine("\"" + longer + "\" is longer word");
Console.ReadKey();
}
}
Die Magie passiert in der 'Longeword' Methode, also müssen Sie diesen Code auch einschließen. – Abion47
Bitte beachten Sie, dass Sie wissen müssen, was Sie hier messen. Eine naive Implementierung würde die '.Length'-Eigenschaft der beiden Strings vergleichen, aber da Sie das längere * Wort * eindeutig angegeben haben, ist dies möglicherweise nicht korrekt, abhängig von Ihrer Definition von" Länge eines Wortes ". 'string.Length' gibt die Anzahl von * Zeichen * zurück, die in Unicode-Codepunkte übersetzt werden, und ein * sichtbares Zeichen * kann nicht nur in einen solchen Codepunkt übersetzt werden, das Zeichen' à' kann sowohl als einzelnes Zeichen als auch als zwei Zeichen codiert werden der Buchstabe "a" und das diakritische "' ". –
Betrachten wir zum Beispiel die Zeichenkette 'string s =" a \ u0300a \ u0300a \ u0300 ";', ist diese Zeichenkette länger oder kürzer als das Wort '" word "'? (Beachten Sie, dass der erste String als 'ààà' angezeigt wird, aber eine Länge von 6 hat). –