一、c#中的列舉定義及使用
enum orientation
//2.關於列舉的型別。預設是int,但可以重新定義為
enum tiangan : byte//可以為byte、short、ushort、uint、long和ulong等數值型別
//3.預設情況下每個值從0開始。但可以重新賦值,後續值為前值+1
enum dizhi
//4.列舉不可以有重複的名稱,但是可以有重複的值。
enum color
class program
"); //使用強制轉換獲得列舉值
int jiazi = (int)dizhi.yin;
console.writeline($"jiazi的數值是");
console.writeline($"tiangan的第二個是:");//第乙個引數是enum物件,第二個是列舉的值
foreach(var i in enum.getnames(typeof(tiangan)))//獲得所有列舉
console.writeline(i);}}
輸出是
二、python中列舉的使用
python中沒有專門的列舉型別。可以通過字典或者類來構建。但是這樣構建的列舉存在問題。一是列舉值可以修改,二是這些列舉功能的類可以被例項化,三是列舉值是否重複無法檢查。
python雖然沒有專門enum關鍵字,但是引進了enum模組來代替enum關鍵字。要知道,python的模組可以解決一切問題o(∩_∩)o哈哈~。
from enum import intenum
class enumtiangan(intenum):
jia=1,
yi=2,
bing=3,
ding=3,
wu=4,
ji=5,
geng=6
xin=6
#按名字取值
print(enumtiangan["jia"])#enumtiangan.jia
print(enumtiangan["jia"].value)#1
print(enumtiangan["jia"].name)#jia
#取全部值
for i in enumtiangan:
print("%s=%d"%(i.name,i.value))
輸出:
關於API SDK和MFC的對照學習
如鵬網的 c語言也能幹大事 教程中使用的是c語言呼叫api sdk的方式來進行windows程式的編寫,有的同學在學習的過程中到網上查詢課上教的一些函式的寫法,但是有時候會碰到一些用mfc來進行呼叫的方式,不知道怎麼轉換成api sdk的方式。首先要肯定和鼓勵這位同學的想法,因為他已經開始明白 語言...
C 中列舉型別在switch語句中值對照問題
如例子所示,在資料庫中儲存的是列舉型別的名稱而不是值,要如何對照呢?首先需要進行型別轉換,列舉型別提供了parse函式,用法如下 刪除細目表 switch basetableenum enum.parse typeof basetableenum entity.biaohao case baseta...
C 中列舉與位列舉的區別和使用
呼叫普通列舉時如圖所示,呼叫位列舉多選時需要中間加乙個 列舉和位列舉的定義 位列舉定義時需要加乙個 flags 還要賦值第二個是第乙個的二倍 class program 判斷這個學生是否包含 if hobby.吃.hasflag hobby.吃 console.readkey 學生類 public ...