/ / comment vérifier si les caractères d'un mot sont mentionnés dans un groupe de différents caractères représentant des zones de texte - c #

Comment vérifier si les caractères d'un mot sont mentionnés dans un groupe de caractères représentant des zones de texte - c #

entrer la description de l'image ici

J'avais sept textes générés au hasard(qui sont regroupées ci-dessus dans l'image) et une zone de texte pour entrer le mot (qui est là-dessous). Maintenant, les validations sont si j'ai entré ces mots:

1) renard: il ne doit pas autoriser ce mot car il doit contenir le mot du milieu qui est en couleur jaune au moins une fois

            string holdWord = textBox1.Text; //
char charToCheck = Convert.ToChar(textBox3.Text); // "a"
bool result = holdWord.Contains( charToCheck ); //false

J'utilise ce code et ça marche.

2) gras: Il ne doit pas autoriser ce mot car t n'est mentionné dans aucune des zones de texte ci-dessus et il doit renvoyer cette lettre comme une erreur indiquant que cette lettre n'est pas là) le mot doit être formé sur la base des sept zones de texte ci-dessus uniquement

Réponses:

3 pour la réponse № 1

Donc 2) est votre seule exigence ouverte.

// presuming textBox1-textBox6 are the textboxes for the letters
// and textBox7 is the TextBox "Type your word"
TextBox[] textBoxes = { textBox1, textBox2, textBox3, textBox4, textBox5, textBox6 };
string wordTyped = textBox7.Text;
var notContainedLetters = wordTyped
.Where(c => !textBoxes.Any(txt => txt.Text.Contains(c)));

string notContained = String.Concat( notContainedLetters );
MessageBox.Show("These letters are in no textbox: " + notContained);

Vous devez ajouter using System.Linq pour la requête LINQ.

Vous pouvez utiliser notContained.Length > 0 ou Enumerable.Any pour vérifier s'il manque au moins une lettre:

bool anyMissing = notContainedLetters.Any();

0 pour la réponse № 2
        char[] originalLetters = { "F", "O", "D","J", "X"}; // Add TextBox lettes in this array
string enteredWord = "FAT"; //User Entered Word

foreach (char letter in enteredWord)
{
// check if letter can be found withinenteredWord
if (!originalLetters.Contains(letter))
{
//// Do Something
}
}