C# 如何检查在一组表示文本框的不同字符中是否提到单词中的字符

C# 如何检查在一组表示文本框的不同字符中是否提到单词中的字符,c#,C#,我有七个随机字符生成的文本框(在图片上方分组)和一个用于输入单词的文本框(在下面)。 现在验证是如果我输入以下文字: 1) 狐狸:它不应该允许这个词,因为它必须至少包含一次黄色的中间词 string holdWord = textBox1.Text; // char charToCheck = Convert.ToChar(textBox3.Text); // 'a' bool result = holdWord.Conta

我有七个随机字符生成的文本框(在图片上方分组)和一个用于输入单词的文本框(在下面)。 现在验证是如果我输入以下文字:

1) 狐狸:它不应该允许这个词,因为它必须至少包含一次黄色的中间词

            string holdWord = textBox1.Text; //
            char charToCheck = Convert.ToChar(textBox3.Text); // 'a'
            bool result = holdWord.Contains( charToCheck ); //false
我使用这个代码,它是有效的

2) fat:它不应该允许使用这个单词,因为上面的任何文本框中都没有提到t,它应该返回这个字母作为错误,表明这个字母不在那里)这个单词应该仅基于上述七个文本框来形成(所以2)是您唯一的开放要求

// 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);
对于Linq查询,您需要使用System.Linq添加

您可以使用
notContained.Length>0
Enumerable.Any
检查是否至少缺少一个字母:

bool anyMissing = notContainedLetters.Any();

好故事,兄弟。你的问题是什么?”香蕉:他提到了不同的东西吗?这似乎忽略了这个词必须包含中间文本框中的字符,虽然现在还不清楚到底发生了什么asked@VisualMelon这就是op得到的结果covered@VisualMelon:中间的文本框只与OP已经解决的第一个需求相关(这一事实使问题变得混乱)。@Sayse:可能,但下一个问题可能是如何获得文本框其中包含单词在中间;那么,为什么要无缘无故地丢失信息呢?
        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
            }
        }