Если текущий экземпляр является ссылочным типом, Equals(Object) метод проверяет равенство ссылок, а вызов Equals(Object) метода эквивалентен вызову ReferenceEquals метода. Равенство ссылок означает, что сравниваемые объектные переменные ссылаются на один и тот же объект.
По умолчанию два операнда ссылочного типа, отличные от записи, являются равными, если они ссылаются на один и тот же объект.
//String(это ссылочный тип, но, как я понял, у него метод Equals и оператор == переопределены):
//Equals: сравнивает значения
//ReferenceEquals: сравнивает ссылки
//==: сравнивает значения
//Значимые примитивные типы:
//Equals: сравнивает значения и тип; int - является потомком object, поэтому при сравнении с объектом типа object - тип не учитывается, или же просто при сравнении в ТАКОМ случае объектов значимого и ссылочного типа сравниваются только значения
//ReferenceEquals: сравнивает ссылки
//==: сравнивает значения, но если сравниваются объект значимого примитивного типа и объект типа object с таким же значением, то сравнение и применение -- невозможно
//object:
//При примитивном значимом типе:
//Equals: сравнивает значения
//ReferenceEquals: сравнивает ссылки
//==: сравнивает ссылки
//При String:
//Equals: сравнивает значения
//ReferenceEquals: сравнивает ссылки
//==: сравнивает значения
}
}
class A
{
public string Name { get; set; }
public A(string name) => Name = name;
public A()
{
}
public override bool Equals(object obj)
{
return base.Equals(obj);
}
}
class B : A
{
public int Age { get; set; }
public B(string name, int age) : base(name) => Age = age;
public B()
{
}
public override bool Equals(object obj)
{
return base.Equals(obj);
}
}
struct A2
{
public int X { get; }
public int Y { get; }
public int Z { get; }
public A2(int x, int y, int z)
{
X = x;
Y = y;
Z = z;
}
public override bool Equals(object obj)
{
return base.Equals(obj);
}
}
struct B2
{
public int X { get; }
public int Y { get; }
public int Z { get; }
public B2(int x, int y, int z)
{
X = x;
Y = y;
Z = z;
}
public override bool Equals(object obj)
{
return base.Equals(obj);
}
}
}
//String(это ссылочный тип, но, как я понял, у него метод Equals и оператор == переопределены):
//Equals: сравнивает значения
//ReferenceEquals: сравнивает ссылки
//==: сравнивает значения
//Значимые примитивные типы:
//Equals: сравнивает значения и тип; int - является потомком object, поэтому при сравнении с объектом типа object - тип не учитывается, или же просто при сравнении в ТАКОМ случае объектов значимого и ссылочного типа сравниваются только значения
//ReferenceEquals: сравнивает ссылки
//==: сравнивает значения, но если сравниваются объект значимого примитивного типа и объект типа object с таким же значением, то сравнение и применение -- невозможно
//object:
//При примитивном значимом типе:
//Equals: сравнивает значения
//ReferenceEquals: сравнивает ссылки
//==: сравнивает ссылки
//При String:
//Equals: сравнивает значения
//ReferenceEquals: сравнивает ссылки
//==: сравнивает значения
}
}
class A
{
public string Name { get; set; }
public A(string name) => Name = name;
public A()
{
}
public override bool Equals(object obj)
{
return base.Equals(obj);
}
}
class B : A
{
public int Age { get; set; }
public B(string name, int age) : base(name) => Age = age;
public B()
{
}
public override bool Equals(object obj)
{
return base.Equals(obj);
}
}
struct A2
{
public int X { get; }
public int Y { get; }
public int Z { get; }
public A2(int x, int y, int z)
{
X = x;
Y = y;
Z = z;
}
public override bool Equals(object obj)
{
return base.Equals(obj);
}
}
struct B2
{
public int X { get; }
public int Y { get; }
public int Z { get; }
public B2(int x, int y, int z)
{
X = x;
Y = y;
Z = z;
}
public override bool Equals(object obj)
{
return base.Equals(obj);
}
}
}
GET graph.facebook.com/ig_hashtag_search
?user_id=17841405309211844
&q=coke
@page
@{
Layout = "_Layout";
}
@model Inst_Post_Searcher.Pages.HomePageModel
<!DOCTYPE html>
<html>
<head>
<style>
#searchsentenсe {
margin-left: 12%;
height: 3.5%;
font-size: 0.9vw;
background-color: #f5ba42;
border-color: black;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
border: 1px solid #000000;
}
#searchbutton {
height: 3.5%;
font-size: 0.9vw;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
background: -moz-linear-gradient(#ff6a00, #ffd800);
background: -webkit-gradient(linear, 0 0, 0 100%, from(#ff6a00), to(#ffd800));
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff6a00', endColorstr='#ffd800');
border-color: black;
width: 150px;
border: 1px solid #000000;
}
#errorwords {
color: #ff0000;
font-size: 1.0vw;
}
#rightwords {
color: #00ff21;
font-size: 1.0vw;
}
</style>
</head>
<body>
<script>
function getSearchValue() {
return document.getElementById("searchsentenсe").value;
}
function sortSearchValues(value) {
var searchValue = value;
document.getElementById("searchsentenсe").value = "";
if (searchValue.includes("#") && /[A-Za-zА-Яа-яёЁ0-9]+$/.test(searchValue)) {
document.getElementById("errorwords").style.display = "none";
document.getElementById("rightwords").style.display = "inline";
searchValue = searchValue.replace(/[^a-zA-Z0-9#]+/g, '');
hashtagwords = searchValue.split('#');
for (var i = 0; i < hashtagwords.length; i++) {
if (hashtagwords[i] == '' || hashtagwords[i] == ' ' || hashtagwords[i] == hashtagwords[i + 1] || hashtagwords[i] == hashtagwords[i - 1]) {
hashtagwords.splice(i, 1);
}
}
return hashtagwords;
}
else {
document.getElementById("rightwords").style.display = "none";
document.getElementById("errorwords").style.display = "inline";
return null;
}
}
function mySearch() {
var hashtagwords = sortSearchValues(getSearchValue());
}
function pressEnter(key) {
if (key == 'Enter') {
event.preventDefault();
document.getElementById("searchbutton").click();
}
}
</script>
<div class="workspace">
<h1><nobr>Поиск по хештегам</nobr></h1>
<form method="post">
<p>
<input type="search" id="searchsentenсe" maxlength="70" placeholder="#example" onkeydown="pressEnter(event.key)" value="#" size="130">
<input type="button" onclick="mySearch()" id="searchbutton" value="Поиск" />
</p>
</form>
<p style="display: none;" id="errorwords">
Ошибка из-за введённых/невведённых символов! Пожалуйста, введите правильные символы, из которых может состоять хештег!
</p>
<p style="display: none;" id="rightwords">
Всё работает!
</p>
</div>
</body>
</html>
GET graph.facebook.com/ig_hashtag_search
?user_id=17841405309211844
&q=coke
могло работать, когда я захочу это использовать.