Перегрузка операторов для своего класса "строка" - C#
Формулировка задачи:
Есть класс. Храним строку как массив символов. Необходимо перегрузить операции, которые подходят сюда логически. Перегрузил несколько. Какие еще можно?
class MyString
{
public void String()
{
string a = "akldglkdflgkertert";
char[] b = a.ToCharArray();
string c = "lokfawerg";
char[] d = c.ToCharArray();
}
public static MyString operator --(MyString a)
{
a--;
return a;
}
public static MyString operator ++(MyString a)
{
a++;
return a;
}
public static MyString operator +(MyString a,MyString c)
{
return a + c;
}
public static MyString operator -(MyString a, MyString c)
{
return a - c;
}
public static bool operator >(MyString a, MyString c)
{
if (a > c)
{
return true;
}
else
return false;
}
public static bool operator <(MyString a, MyString c)
{
if (a < c)
{
return true;
}
else
return false;
}
public static MyString operator *(MyString a, MyString c)
{
return a * c;
}
public static MyString operator /(MyString a, MyString c)
{
return a / c;
}
public static bool operator &(MyString a, MyString c)
{
if (a & c)
return true;
else
return false;
}
}Решение задачи: «Перегрузка операторов для своего класса "строка"»
textual
Листинг программы
class MyString
{
string s;
public MyString(string s)
{
this.s = s;
}
public static MyString operator +(MyString s1, MyString s2)
{
return new MyString(s1.s + s2.s);
}
public static bool operator >(MyString s1, MyString s2)
{
return string.Compare(s1.s,s2.s)>0;
}
public static bool operator <(MyString s1, MyString s2)
{
return string.Compare(s1.s,s2.s)<0;
}
}