デバッガで変数textにstring型の"hoge"が入っているが、falseになっている様子
- string型の変数の等価条件がTrueにならない理由が知りたい
前提
UnityでinputFieldに入力した値が意図した値になっておらず、等価比較をするとFalseになっておりました。Falseになってしまう理由を教えていただきたいです。
inputFieldには"hoge"を入力しております。
該当のソースコード
csharp
1using TMPro; 2using UnityEngine; 3 4namespace InputField 5{ 6 public class Text : MonoBehaviour 7 { 8 [SerializeField] private GameObject inputFieldGameObject; 9 private TextMeshProUGUI inputField; 10 11 private void Start() 12 { 13 // コード内でのinputFieldの設定 14 inputField = inputFieldGameObject.GetComponent<TextMeshProUGUI>(); 15 } 16 17 public void OnClick() 18 { 19 string text = inputField.text.Trim(); 20 21 if (text == "hoge") 22 { 23 Debug.Log("おなじ"); 24 } 25 else 26 { 27 Debug.Log("ちがう"); 28 } 29 30 if (text.Equals("hoge")) 31 { 32 Debug.Log("おなじ"); 33 } 34 else 35 { 36 Debug.Log("だからちがうんだって!"); 37 } 38 } 39 } 40}
試したこと
余計な空白、改行は無いことを確認しております。
このコメントは回答欄に移しました
回答2件
あなたの回答
tips
プレビュー