Unity C# Проблема CS1061 Помогите с кодом!!!
Доброго времени суток! Я недавно в С# Unity (первым языком был Python - знаю, не лучший выбор), а потому битый час бьюсь над кодом, но никак не могу понять, почему возникает ошибка CS1061. Смысл кода в том, чтобы ограничить вводимые символы в GUI.TextField(). Просьба помочь с решением проблемы. Заранее спасибо!
//Код:
using UnityEngine;
using System.Collections;
public class PlayerName : MonoBehaviour {
public string message = "Nickname";
void OnGUI()
{
message= GUI.TextField(new Rect(199,150,132,20), checkString(message), 15);
}
private int size = 0;
string checkString(string message)
{
int tempSize = message.Length;
if(tempSize > 0)
{
if(tempSize != size)
{
char[] symbols = "abcdefghijklmnopqrstuvwxyz_1234567890".ToCharArray();
char[] chars = message.ToLower().ToCharArray();
foreach(char symbol in chars)
{
if(!symbols.Contains(symbol))
{
message = message.Replace(symbol.ToString(),string.Empty);
}
}
size=tempSize;
}
}
return message;
}
}
//Ошибка:
Assets\Scripts\PlayerName.cs(23,53): error CS1061: 'char[]' does not contain a definition for 'contains' and no accessible extension method 'contains' accepting a first argument of type 'char[]' could be found (are you missing a using directive or an assembly reference?)
А вы забавный - вы конвертите строку (в которой можно и IndexOf и Contains и [i] сделать, т. е. она дает все что есть у массива кроме компактности) в массив чаров, а потом удивляетесь - а чойто метод из стринга не работает, да ещё и ответ скрываете, который более чем нормальный. Вы видимо не то что питон даже "программирование" не знаете и конструкции типа if (a == true) для вас норма.
Доки в руки и вперед, юнька не повод принебрегать доками мелкомягких по шарпам, шарпы везде одни а навесное можно и в доках самой юнити глянуть. Учитесь читать и понимать ошибки, а таже искать ответы и решать проблемы, блюдо рано или поздно уберут
Пишет, что не определен в нем метод Contains.
Как, я понял (правда, по-старинке):
char[] symbols = "abcdefghijklmnopqrstuvwxyz_1234567890".ToCharArray();
"a,b,c и т. д. 1,2,3 и т. д."
Используй IndexOf()