загрузка TextAsset из файла и невозможность сравнения - PullRequest
2 голосов
/ 03 мая 2019

Я загружаю TextAsset из ресурсов, которые являются словарными словами и добавлены в список, и я хочу сравнить пользовательское слово ввода со списком, содержит ли список пользовательское слово ввода или нет?Я перепробовал много методов, но ни один не работает, результат отрицательный.Может ли кто-нибудь помочь мне узнать?

public TextAsset txt;
public List<string> words;

    void Awake()
    {
        words = new List<string>();
        txt = (TextAsset)Resources.Load("words");

        words = TextAssetExtensionMethods.TextAssetToList(txt);
    }

    public void Search()
    {

        Debug.Log(inputField.text);
        Debug.Log(words.Contains(inputField.text));

        Debug.Log(words.FindAll(s => s.Contains(inputField.text)));
        Debug.Log(words.FindAll(s => s.IndexOf(inputField.text, StringComparison.OrdinalIgnoreCase) >= 0));

        if (words.Contains(inputField.text, StringComparer.CurrentCultureIgnoreCase)) {
           Debug.Log("Contains");    
        } else{
            Debug.Log("not");    
        }    
    }

public static class TextAssetExtensionMethods {
        public static List<string> TextAssetToList(this TextAsset ta) {
            return new List<string>(ta.text.Split('\n'));
        }
    }

enter image description here

1 Ответ

0 голосов
/ 03 мая 2019

Я не знаю, почему вы создали метод расширения для класса TextAsset, но теперь, когда он у вас есть, вы должны использовать его следующим образом (вызывая собственный метод для экземпляра TextAsset):

words = txt.TextAssetToList();

вместо:

words = TextAssetExtensionMethods.TextAssetToList(txt);

Теперь, одна из возможных проблем, которые у вас могут возникнуть, - это оставить пробелы в строках, просто обрежьте ваши записи:

Array.ConvertAll(ta.text.Split(','), p => p.Trim()).ToList(); //LINQ used

при условии, что ваши слова разделены запятой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...