Lea*_*ner 0 .net string comparison
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class ddLlSTeXPT : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Page_Load(object sender, EventArgs e)
{
string pass="infoways";
if(txtbx.Text==pass)
Response.Write("hello U Logged In");
else
Response.Write("hello U cant log In");
}
}
Run Code Online (Sandbox Code Playgroud)
但如果文本框中的文本是"infoways",它会正确打印.如何将这两个对象的相同参考分配给不同的内存?
我不完全确定你在这里问的是什么.您发布的代码测试以查看TextBox控件中的文本是否等同于字符串"infoways".如果是,则显示消息"hello U Logged In"; 如果没有,它会显示消息"你好,你无法登录".您的代码似乎按预期工作.
该==操作符被重载为String类,所以当你写的string1 == string2,这是本质上等价于String.Equals(string1, string2).与其他对象不同,==运算符不会比较String类型的引用相等性.如文档所述:
虽然string是引用类型,但是定义了相等运算符(==和!=)来比较字符串对象的值,而不是引用.这使得对字符串相等性的测试更加直观.