asp.Net演算子の論理演算子およびその他の演算子の紹介と例
演算子演算例結果&AND(AND)false&true false|OR(または)false|true^XOR(排他的または)false^true true!NOT(非)!false true&&AND(ショート)false&&true false|OR(ショート)false||true true
以下では、問題が発生しやすいものについて簡単に説明します.
1、"^"オペランドの論理"異或"を計算する;すなわち、結果は、1つのオペランドがtrueである場合にのみtrueとなる.
2、「&」と「&&&」の違いは、前者の接続を使用すると、いずれの場合も「&」の両方の式が計算に関与することです.後者の接続を使用すると、&&の左側がfalseの場合、右側の式は計算されません.
3、「|」と「|」の違いは、「|」は両方のいずれかのブール式が真であることを示し、この組み合わせはtrue値を返す.一方、「||」については、2番目との差は多くなく、左側がtrueであればtrueを返し、左側がfalshであれば右を見、右側がtrueであればtrueであればfalshとなる.
例
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
int x = 0;
string name = " ";
//& ,
Response.Write("x != 0 & name = /" /" :"+ (x != 0 & name == " "));
Response.Write("
");
//| , , ,
Response.Write("x != 0 | name = /" /" :" + (x != 0 | name == " "));
Response.Write("
");
//^ , True , ,
Response.Write("x != 0 ^ name = /" /" :" + (x != 0 ^ name == " "));
Response.Write("
");
Response.Write("x == 0 ^ name = /" /" :" + (x == 0 ^ name == " "));
Response.Write("
");
//! , ,
Response.Write("x != 0 :" + !(x != 0));
Response.Write("
");
//&& , , ,
Response.Write("x != 0 && name = /" /" :" + (x != 0 && name == " "));
Response.Write("
");
//|| , , ; , , , ,
Response.Write("x != 0 || name = /" /" :" + (x != 0 || name == " "));
}
}
演算子C#は、式で実行されるアクションを指定する記号である多数の演算子を提供します.通常、列挙は==、!=、<=、>=、binary+、binary-、^、&、|、~、++、--とsizeof()です.さらに、多くの演算子は、ユーザによって再ロードされ、ユーザ定義のタイプに適用されたときにこれらの演算子の意味を変更することができる.演算子カテゴリ演算子基本x.yf(x)a[x]x++x--newtypeofcheckedunchecked->一元+-!~++x--x(T)xTrueFalse&sizeof乗算*/%加算+-変換<>>関係とタイプ検出<><=>=isas等しい==!=論理"と"&論理XOR^論理"または"|条件AND&&条件OR|条件演算?:付与=+=-=*=/=%=&=|=^=<=>=?
演算子優先度前++前--+(プラス記号)-(マイナス記号)!~*/%+-<<><><=====!=&&&代入演算後++後--リロード可能演算子C#は、operatorキーを使用して静的メンバー関数を定義することによって、ユーザー定義のタイプが演算子をリロードできるようにします.ただし、すべての演算子をリロードできるわけではありません.次の表に、リロードできない演算子を示します.演算子のリロード可能+、-、!、~、+、--、trueとfalseは、これらの一元演算子を再ロードできます.+、-、*、/、%、&、|,^,<>これらのバイナリ演算子を再ロードできます.=,!=,<=,>=比較演算子はリロードできます(ただし、この表の後述を参照).条件論理演算子はリロードできませんが、リロード可能な&と|を使用して計算できます.[]配列インデックス演算子は再ロードできませんが、インデックスを定義できます.()変換演算子は再ロードできませんが、新しい変換演算子を定義できます(explicitとimplicitを参照).+=、-=、*=、/=、%=、&=、|=、^=、<=、>>=代入演算子は再ロードできませんが、+=は+計算などを使用できます.=、.、?:、->、New、is、sizeof、typeofはこれらの演算子を再ロードできません.
構文
public static Complex operator +(Complex c1, Complex c2)