[解決済み] |=(シングルパイプイコール)、&=(シングルアンパサンドイコール)の意味するところ
2022-07-01 21:36:59
質問
以下の行で
//Folder.Attributes = FileAttributes.Directory | FileAttributes.Hidden | FileAttributes.System | FileAttributes.ReadOnly;
Folder.Attributes |= FileAttributes.Directory | FileAttributes.Hidden | FileAttributes.System | FileAttributes.ReadOnly;
Folder.Attributes |= ~FileAttributes.System;
Folder.Attributes &= ~FileAttributes.System;
は何をするのか
|=
(単管イコール)と
&=
(シングルアンパサンドイコール)は、C#ではどういう意味ですか?
システム属性を削除して、他の属性は残したいのですが...。
どのように解決するのですか?
彼らは 複合課題 演算子で、(非常に大雑把に)訳すと
x |= y;
に
x = x | y;
と同じように
&
. 暗黙のキャストに関するいくつかのケースでもう少し詳細があり、ターゲット変数は一度だけ評価されますが、基本的にはこれが要点です。
非複合演算子に関しては
&
はビット単位の "AND" です。
と
|
はビット単位の "OR" です。
.
編集:この場合、あなたは
Folder.Attributes &= ~FileAttributes.System
. その理由を理解するために
-
~FileAttributes.System
は全属性を意味します。 を除くSystem
" (~
はビットワイズNOT) -
&
は、オペランドの両側で発生する全ての属性が結果になることを意味します。
つまり、基本的にはマスクとして機能する -。 だけ に表示される属性を保持します。一般的には
-
|=
は常に を追加します。 ビットをターゲットに追加します。 -
&=
は常に を削除します。 ビットを削除します。
関連
-
[解決済み】C#でクエスチョンマークを2つ並べるとどんな意味になるのか?
-
[解決済み】OnCollisionEnter2Dが実行されない?
-
[解決済み] 2つのリストを結合する
-
[解決済み】URLから画像をダウンロードする方法
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] C#の[Flags]Enum属性の意味とは?
-
[解決済み】乱数発生器が1つの乱数しか発生させない。
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"|="の意味は何ですか?(パイプ等号演算子)
-
[解決済み】ソケットのアドレス(プロトコル/ネットワークアドレス/ポート)は、通常1つしか使用できない?
-
[解決済み】Visual studio 2019がデバッグ時にフリーズする件
-
[解決済み] EntityTypeにキーが定義されていないエラー
-
[解決済み】C#のequal to演算子でtextとvarcharのデータ型は互換性がない
-
[解決済み】2つ(またはそれ以上)のリストを1つに統合する(C# .NETで
-
[解決済み】パラメータ付きRedirectToAction
-
[解決済み】画像のペイントにTextureBrushを使用する方法
-
[解決済み] 関数を終了するには?
-
[解決済み】ユーザー設定値を別のユーザー設定値で設定する