ShoneSharp語言(S#)的設計和使用介紹系列(7)— 布爾Bool及對象Object

来源:http://www.cnblogs.com/ShoneSharp/archive/2017/12/07/ShoneSharp-7.html
-Advertisement-
Play Games

布爾(對應C#的bool)表示是/否兩種狀態,對應關鍵字true、false。對象(對應C#的object)表示任意對象,是所有類型的基類型,關鍵字null表示空對象。Object 在S#中有大量的使用,用的好了熟了會讓你領悟:看山是山;看山不是山;看山還是山。 ...


 

 

ShoneSharp語言(S#)的設計和使用介紹

系列(7)— 布爾Bool及對象Object

作者:Shone

聲明:原創文章歡迎轉載,但請註明出處,https://www.cnblogs.com/ShoneSharp。

摘要: 布爾值(對應C#的bool)表示是/否兩種狀態,對應關鍵字true、false。對象(對應C#的object)表示任意對象,是所有類型的基類型,關鍵字null表示空對象。Object 在S#中有大量的使用,用的好了熟了會讓你領悟:看山是山;看山不是山;看山還是山

軟體: S#語言編輯解析運行器,運行環境.NET 4.0,綠色軟體,單個EXE直接運行,無副作用。網盤下載鏈接為https://pan.baidu.com/s/1dF4e08p

 

寫博客還是蠻辛苦的,所以請大家再堅持一下,今天把布爾Bool及對象Object這兩個類型介紹完後,後面將進入S#比較有特色的介紹,這裡預告一下,看能不能多吸引點人氣:

系列(7) —  最炫“公式”風

系列(8) —  一等公民“函數“愛

系列(9) —  富家子弟“語句“不炫富

系列(10)—  “類”披炫服靚妝化成“表”

一、布爾Bool

布爾(對應C#的bool)表示是/否兩種狀態,S#為之預留了兩個關鍵字true、false。當然你也可以輸入True/False,或是/否。

布爾值一般專門進行邏輯判斷使用,幾乎所有現代語言都支持該類型。

二、對象Object

對象(對應C#的object)表示任意對象,是所有類型的基類型,S#為之預留了一個關鍵字null,表示空對象。

編程語言素來有關於強類型與弱類型之優劣的爭辯,其根源就在於Object這種類型(C++中是指針)神一般的存在。個人對強類型與弱類型意見取中庸之道,認為都有必要支持,各有利弊之處。

Object 在S#中有大量的使用,用的好了熟了,簡直可以讓你達到參禪之境界:看山是山,看水是水;看山不是山,看水不是水;看山還是山,看水還是水。

 二話不說上S#代碼:

{
    1 + 2  ,
    1 + [ 10 , 20 ]  ,
    [ 1 , 2 ] + 10  ,
    [ 10 , 20 , 30 ] + [ 1 , 2 ]  ,
    cos( 30 )  ,
    cos( [ 10 , 20 , 30 ] )  ,
    cos( { 10 , [ 20 , 30 ] , 40 } )  ,
    cos( {
        a = 10  ,
        b = 20  ,
        c = [ 30 , 40 ]  ,
        d = { 50 , 60 }  ,
        f = { m = 90 }
    } )
}
//計算結果:
{
    3  ,
    [ 11 , 21 ]  ,
    [ 11 , 12 ]  ,
    [ 11 , 22 , 32 ]  ,
    0.86602540378443871  ,
    [
        0.984807753012208  ,
        0.93969262078590843  ,
        0.86602540378443871
    ]  ,
    {
        0.984807753012208  ,
        [
            0.93969262078590843  ,
            0.86602540378443871
        ]  ,
        0.766044443118978
    }  ,
    {
        0.984807753012208  ,
        0.93969262078590843  ,
        [
            0.86602540378443871  ,
            0.766044443118978
        ]  ,
        { 0.64278760968653936 , 0.5 }  ,
        { 0 }
    }
}

下麵很多算符、函數、屬性以及方法接受的參數就是Object,表明它們可以接受多種數據類型,具體可參見成員說明。

三、常量

Bool False

說明:否

輸入:False

 

Bool True

說明:是

輸入:True

 

Object Null

說明:空值

輸入:Null

 

四、單目算符

! Object → Object

說明:對布爾值取反

輸入:!true

求值:False

 

- Object → Object

說明:對象取負

輸入:-10

 

~ Object → Object

說明:對數組、列表反轉

輸入:~[1,2,3]

求值:[3, 2, 1]

 

五、雙目算符

Object != Object → Bool

說明:判斷兩個對象值是否完全不等

輸入:5!=10

求值:True

 

Object ?? Object → Object

說明:非空取值

輸入:null??10

求值:10

 

Object < Object → Object

說明:判斷是否小於

輸入:5<10

求值:True

 

Object <= Object → Object

說明:判斷是否小於或等於

輸入:5<=10

求值:True

 

Object == Object → Bool

說明:判斷兩個對象值是否完全相等

輸入:5==10

求值:False

 

Object > Object → Object

說明:判斷是否大於

輸入:5>10

求值:False

 

Object >= Object → Object

說明:判斷是否大於或等於

輸入:5>=10

求值:False

 

Object % Object → Object

說明:對象相餘

輸入:10%3

求值:1

 

Object && Object → Object

說明:布爾值相與

輸入:true && false

求值:False

 

Object & Object → Object

說明:連插數組

輸入:[1,2] & [10,20]

求值:[1, 10, 20, 2]

 

Object * Object → Object

說明:對象相乘

輸入:5*10

求值:50

 

Object / Object → Object

說明:對象相除

輸入:10/3

求值:3.3333333333333335

 

Object ^ Object → Object

說明:對象乘方

輸入:5^3

求值:125

 

Object - Object → Object

說明:對象相減

輸入:5-10

求值:-5

 

Object | Object → Object

說明:交插數組

輸入:[1,2] | [10,20]

求值:[1, 10, 2, 20]

 

Object || Object → Object

說明:布爾值相或

輸入:true || false

求值:True

 

Object + Object → Object

說明:對象相加

輸入:5+10

求值:15

 

六、其他符號

Object[Double:Double] → Object

說明:獲取子元素數組

輸入:[10,20,30,40][1:2]

求值:[20, 30]

 

Object[Object|Object[],...] → Object

說明:獲取子元素

輸入:[10,20,30][1]

求值:20

 

七、函數

Bool assert(bool arg,...)

說明:斷言系列布爾值(true正常,false發生錯誤)

輸入:assert(true)

求值:True

 

Object abs(Object obj)

說明:求絕對值

輸入:abs(-100)

求值:100

 

Object acos(Object obj)

說明:求反餘弦角度值

輸入:acos(0.5)

求值:60

 

Object acosh(Object obj)

說明:求反雙曲餘弦弧度值

輸入:acosh(1.5)

求值:0.96242365011920694

 

Object actg(Object obj)

說明:求反反切角度值

輸入:actg(1)

求值:45

 

Object actgh(Object obj)

說明:求反雙曲反切弧度值

輸入:actgh(1.5)

求值:0.80471895621705014

 

Object among(Object t, Double d1, Double d2)

說明:求[d1,d2]區間參量t的線性插值

輸入:among(0,8,0.25)

求值:8

 

Object asin(Object obj)

說明:求反正弦角度值

輸入:asin(0.5)

求值:30

 

Object asinh(Object obj)

說明:求反雙曲正弦弧度值

輸入:asinh(0.5)

求值:0.48121182505960347

 

Object atg(Object obj)

說明:求反正切角度值

輸入:atg(1)

求值:45

 

Object atgh(Object obj)

說明:求反雙曲正切弧度值

輸入:atgh(0.5)

求值:0.54930614433405489

 

Object ceil(Object obj)

說明:求上取整值

輸入:ceil(9.8)

求值:10

 

Object ceil(Object obj, Double d)

說明:求按步長上取整值

輸入:ceil(10.4,0.5)

求值:10.5

 

Object cos(Object obj)

說明:求角度餘弦值

輸入:cos(60)

求值:0.5

 

Object cosh(Object obj)

說明:求弧度雙曲餘弦值

輸入:cosh(0.5)

求值:1.1276259652063807

 

Object ctg(Object obj)

說明:求角度反切值

輸入:ctg(45)

求值:1

 

Object ctgh(Object obj)

說明:求弧度雙曲反切值

輸入:ctgh(0.5)

求值:2.1639534137386529

 

Object exp(Object obj)

說明:求自然冪值

輸入:exp(10)

求值:22026.465794806718

 

Object floor(Object obj)

說明:求下取整值

輸入:floor(9.4)

求值:9

 

Object floor(Object obj, Double d)

說明:求按步長下取整值

輸入:floor(10.4,0.5)

求值:10

 

Object lg(Object obj)

說明:求10為底對數值

輸入:lg(10)

求值:1

 

Object ln(Object obj)

說明:求自然對數值

輸入:ln(10)

求值:2.3025850929940459

 

Object log(Object obj, Double newBase)

說明:求指定底對數值

輸入:log(10,2)

求值:3.3219280948873626

 

Object param(Object d, Double d1, Double d2)

說明:求d對應[d1,d2]區間的參量

輸入:param(4,0,8)

求值:0.5

 

Object round(Object obj)

說明:求四捨五入取整值

輸入:round(10.5)

求值:11

 

Object round(Object obj, Double d)

說明:求按步長四捨五入取整值

輸入:round(10.4,0.5)

求值:10.5

 

Object sign(Object obj)

說明:求符號值

輸入:sign(-10)

求值:-1

 

Object sin(Object obj)

說明:求角度正弦值

輸入:sin(30)

求值:0.5

 

Object sinh(Object obj)

說明:求弧度雙曲正弦值

輸入:sinh(0.5)

求值:0.52109530549374738

 

Object sqrt(Object obj)

說明:求平方根值

輸入:sqrt(10)

求值:3.1622776601683795

 

Object tg(Object obj)

說明:求角度正切值

輸入:tg(45)

求值:1

 

Object tgh(Object obj)

說明:求弧度雙曲正切值

輸入:tgh(0.5)

求值:0.46211715726000974

 

Object trunc(Object obj)

說明:求截取整值

輸入:trunc(9.5)

求值:9

 

Object trunc(Object obj, Double d)

說明:求按步長截取整值

輸入:trunc(10.4,0.5)

求值:10

 

八、屬性

Object Object.cm_print

說明:列印1釐米=10mm/WcsScale

輸入:x.cm_print

 

Object Object.cm_unit

說明:換算1釐米=10mm

輸入:x.cm_unit

 

Object Object.dm_print

說明:列印1分米=100mm/WcsScale

輸入:x.dm_print

 

Object Object.dm_unit

說明:換算1分米=100mm

輸入:x.dm_unit

 

Object Object.dmm_print

說明:列印1絲米=0.01mm/WcsScale

輸入:x.dmm_print

 

Object Object.dmm_unit

說明:換算1絲米=0.01mm

輸入:x.dmm_unit

 

Object Object.ft_print

說明:列印1英尺=304.8mm/WcsScale

輸入:x.ft_print

 

Object Object.ft_unit

說明:換算1英尺=304.8mm

輸入:x.ft_unit

 

Double Object.HashCode

說明:哈希碼

輸入:x.HashCode

 

Object Object.in_print

說明:列印1英寸=25.4mm/WcsScale

輸入:x.in_print

 

Object Object.in_unit

說明:換算1英寸=25.4mm

輸入:x.in_unit

 

Object Object.km_print

說明:列印1公裡=1000000mm/WcsScale

輸入:x.km_print

 

Object Object.km_unit

說明:換算1公裡=1000000mm

輸入:x.km_unit

 

Object Object.m_print

說明:列印1米=1000mm/WcsScale

輸入:x.m_print

 

Object Object.m_unit

說明:換算1米=1000mm

輸入:x.m_unit

 

Object Object.mi_print

說明:列印1英里=1609344mm/WcsScale

輸入:x.mi_print

 

Object Object.mi_unit

說明:換算1英里=1609344mm

輸入:x.mi_unit

 

Object Object.mm_print

說明:列印1毫米=1mm/WcsScale

輸入:x.mm_print

 

Object Object.mm_unit

說明:換算1毫米=1mm

輸入:x.mm_unit

 

Object Object.nm_print

說明:列印1納米=0.000001mm/WcsScale

輸入:x.nm_print

 

Object Object.nm_unit

說明:換算1納米=0.000001mm

輸入:x.nm_unit

 

Object Object.nmi_print

說明:列印1海裡=1852000mm/WcsScale

輸入:x.nmi_print

 

Object Object.nmi_unit

說明:換算1海裡=1852000mm

輸入:x.nmi_unit

 

String Object.OutCsv

說明:返回對應的Csv字元串

輸入:x.OutCsv

 

String Object.OutStr

說明:返回對應的表示字元串

輸入:x.OutStr

 

String Object.SpanStr

說明:轉換為跨徑字元串

輸入:x.SpanStr

 

String Object.ToStr

說明:轉換為對應字元串

輸入:x.ToStr

 

String Object.TypeName

說明:類型名

輸入:x.TypeName

 

Object Object.um_print

說明:列印1微米=0.001mm/WcsScale

輸入:x.um_print

 

Object Object.um_unit

說明:換算1微米=0.001mm

輸入:x.um_unit

 

String Object.XYShortStr

說明:對應的XY簡化文本

輸入:x.XYShortStr

 

String Object.XYStr

說明:對應的XY文本

輸入:x.XYStr

 

String Object.XYZShortStr

說明:對應的XYZ簡化文本

輸入:x.XYZShortStr

 

String Object.XYZStr

說明:對應的XYZ文本

輸入:x.XYZStr

 

Object Object.yd_print

說明:列印1碼=914.4mm/WcsScale

輸入:x.yd_print

 

Object Object.yd_unit

說明:換算1碼=914.4mm

輸入:x.yd_unit

 

Object Object.尺_print

說明:列印1尺=333.33333mm/WcsScale

輸入:x.尺_print

 

Object Object.尺_unit

說明:換算1尺=333.33333mm

輸入:x.尺_unit

 

Object Object.寸_print

說明:列印1寸=33.3333333mm/WcsScale

輸入:x.寸_print

 

Object Object.寸_unit

說明:換算1寸=33.3333333mm

輸入:x.寸_unit

 

Object Object.分_print

說明:列印1分=3.3333333mm/WcsScale

輸入:x.分_print

 

Object Object.分_unit

說明:換算1分=3.3333333mm

輸入:x.分_unit

 

Object Object.釐_print

說明:列印1釐=0.3333333mm/WcsScale

輸入:x.釐_print

 

Object Object.釐_unit

說明:換算1釐=0.3333333mm

輸入:x.釐_unit

 

Object Object.里_print

說明:列印1里=500000mm/WcsScale

輸入:x.里_print

 

Object Object.里_unit

說明:換算1里=500000mm

輸入:x.里_unit

 

Object Object.丈_print

說明:列印1丈=3333.3333333mm/WcsScale

輸入:x.丈_print

 

Object Object.丈_unit

說明:換算1丈=3333.3333333mm

輸入:x.丈_unit

 

九、方法

Object Object.Mirror(Object axis)

說明:相對指定軸線鏡像

輸入:x.Mirror(axis(30))

 

Object Object.Mirror3d(Object plane)

說明:相對指定平面鏡像

輸入:x.Mirror3d(plane3d((0,0,0),vect3d(0,1,0)))

 

Object Object.Oblique(Object a)

說明:相對原點無旋轉斜交

輸入:x.Oblique(10)

 

Object Object.Oblique(Object a, Object oblique)

說明:相對點O旋轉傾斜,註意線段全部以直代曲,oblique=0旋轉無斜交,1旋轉斜交,2旋轉斜放,3旋轉斜垂,NaN無旋轉斜交

輸入:x.Oblique(10,1)

 

Object Object.ObliqueAt(Object p, Object a, Object oblique)

說明:相對點O旋轉傾斜,註意線段全部以直代曲,oblique=0旋轉無斜交,1旋轉斜交,2旋轉斜放,3旋轉斜垂,NaN無旋轉斜交

輸入:x.ObliqueAt((0,0),10,1)

 

Object Object.Pan(Object dx, Object dy)

說明:步長平移

輸入:x.Pan(10,10)

 

Object Object.Pan3d(Object dx, Object dy, Object dz)

說明:步長平移

輸入:x.Pan3d(10,10,10)

 

Object Object.Pan3dP(Object p)

說明:參照平移

輸入:x.Pan3dP((10,10,10))

 

Object Object.Pan3dV(Object v)

說明:向量平移

輸入:x.Pan3dV(vect3d(10,10,10))

 

Object Object.Pan3dX(Object dx)

說明:水平平移

輸入:x.Pan3dX(10)

 

Object Object.Pan3dY(Object dy)

說明:垂直平移

輸入:x.Pan3dY(10)

 

Object Object.Pan3dZ(Object dz)

說明:法向平移

輸入:x.Pan3dZ(10)

 

Object Object.PanLA(Object l, Object a)

說明:長度角度平移

輸入:x.PanLA(10,30)

 

Object Object.PanLI(Object l, Object i)

說明:長度坡度平移

輸入:x.PanLI(10,0.25)

 

Object Object.PanP(Object p)

說明:參照平移

輸入:x.PanP((10,10))

 

Object Object.PanV(Object v)

說明:向量平移

輸入:x.PanV(vect(10,10))

 

Object Object.PanX(Object dx)

說明:水平平移

輸入:x.PanX(10)

 

Object Object.PanXA(Object dx, Object a)

說明:平距角度平移

輸入:x.PanXA(10,30)

 

Object Object.PanXI(Object dx, Object i)

說明:平距坡度平移

輸入:x.PanXI(10,0.25)

 

Object Object.PanY(Object dy)

說明:垂直平移

輸入:x.PanY(10)

 

Object Object.PanYA(Object dy, Object a)

說明:垂距角度平移

輸入:x.PanYA(10,30)

 

Object Object.PanYI(Object dy, Object i)

說明:垂距坡度平移

輸入:x.PanYI(10,0.25)

 

Object Object.Project3d(Object plane)

說明:相對指定平面投影

輸入:x.Project3d(plane3d((0,0,0),vect3d(0,1,0)))

 

Object Object.Rotate(Object a)

說明:相對原點逆時針旋轉

輸入:x.Rotate(30)

 

Object Object.Rotate3d(Object axis, Object a)

說明:相對指定軸逆時針旋轉

輸入:x.Rotate3d(axis3d(30),30)

 

Object Object.Rotate3dX(Object a)

說明:相對X軸逆時針旋轉

輸入:x.Rotate3dX(30)

 

Object Object.Rotate3dY(Object a)

說明:相對Y軸逆時針旋轉

輸入:x.Rotate3dY(30)

 

Object Object.Rotate3dZ(Object a)

說明:相對Z軸逆時針旋轉

輸入:x.Rotate3dZ(30)

 

Object Object.RotateAt(Object o, Object a)

說明:相對點O逆時針旋轉

輸入:x.RotateAt((0,0),30)

 

Object Object.Scale(Object s)

說明:相對原點等比例縮放

輸入:x.Scale(2)

 

Object Object.Scale3d(Object s)

說明:相對原點等比例縮放

輸入:x.Scale3d(2)

 

Object Object.Scale3dAt(Object o, Object s)

說明:相對點O等比例縮放

輸入:x.Scale3dAt((0,0,0),2)

 

Object Object.ScaleAt(Object o, Object s)

說明:相對點O等比例縮放

輸入:x.ScaleAt((0,0),2)

 

Object Object.ScaleXY(Object sx, Object sy)

說明:相對原點不等比例縮放,註意線段全部以直代曲

輸入:x.ScaleXY(1,2)

 

Object Object.ScaleXYAt(Object p, Object sx, Object sy)

說明:相對點O不等比例縮放,註意線段全部以直代曲

輸入:x.ScaleXYAt((0,0),1,2)

 

Object Object.Set3dX(Object x)

說明:設置X

輸入:x.Set3dX(10)

 

Object Object.Set3dY(Object y)

說明:設置Y

輸入:x.Set3dY(10)

 

Object Object.Set3dZ(Object z)

說明:設置Z

輸入:x.Set3dZ(10)

 

Object Object.SetX(Object x)

說明:設置X

輸入:x.SetX(10)

 

Object Object.SetY(Object y)

說明:設置Y

輸入:x.SetY(10)

 

Object Object.Transform(Object ucs)

說明:變換到指定坐標系外

輸入:x.Transform(ucs(30))

 

Object Object.Transform3d(Object ucs)

說明:變換到指定坐標系外

輸入:x.Transform3d(ucs3d(30))。

最近三個章節按數據類型和成員分類進行介紹不會漏項,但是缺點是初學者看起來比較容易迷糊,內容也顯得枯燥讓人打瞌睡。不過總算結束了,有了這四塊看不起眼的磚頭,後面大家來看看可以砌成什麼樣的大樓。

 

聲明:原創文章歡迎轉載,但請註明出處,https://www.cnblogs.com/ShoneSharp。

軟體: S#語言編輯解析運行器,運行環境.NET 4.0,綠色軟體,單個EXE直接運行,無副作用。網盤下載鏈接為https://pan.baidu.com/s/1dF4e08p


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 學習java也一個月多了,我這個人吧總感覺格局有點小,太小家子氣,在學習新東西的過程中我開始逐漸對自己有一些認識吧。首先就是學習的進度不夠快,總是執著與基礎,就像高中的時候吧,雖然當時在我們班我的成績足夠好了,但自己學習複習的過程中仍然執著與基礎。導致自己的學習進度不快,對於自己來說也限制了自己更多 ...
  • 基本概念 java學習群669823128 操作系統中 heap 和 stack 的區別 什麼是基於註解的切麵實現 什麼是 對象/關係 映射集成模塊 什麼是 Java 的反射機制 什麼是 ACID BS與CS的聯繫與區別 Cookie 和 Session的區別 fail-fast 與 fail-sa ...
  • C#有一個關鍵詞yield,簡化遍歷操作實現的語法糖。 下麵Insus.NET使用例子來說明,就拿昨晚的一篇《從字元串數組中把數字的元素找出來》 http://www.cnblogs.com/insus/p/8001026.html 其中有一段控制台程式: 上圖中的#17行代碼至#29行代碼。按照面 ...
  • 返回總目錄 本小節目錄 Extract BaseClass(提煉基類) Extract Interface(提煉介面) Collapse Hierarchy(摺疊繼承體系) 7Extract BaseClass(提煉基類) 概要 兩個類有相似特性。為這兩個類建立一個基類,將相同特性移至基類。 動機 ...
  • 跟同事交流,之前上線的系統一兩年之後,數據有兩三千萬 系統,沒有辦法很好的應對這麼多的數據 這有兩方面原因,一個是設計的時候沒有怎麼考慮數據量的問題 還有一個就是寫代碼的時候,並沒有註意數據量的問題 不去關註數據量的問題,這可能是程式員自己的意識,還有可能是客戶自以為的不用關註 客戶說,我們的數據沒 ...
  • 前言 如果大家剛使用EntityFramework Core作為ORM框架的話,想必都會遇到資料庫遷移的一些問題。 起初我是在ASP.NET Core的Web項目中進行的,但後來發現放在此處並不是很合理,一些關於資料庫的遷移,比如新增表,欄位,修改欄位類型等等,不應該和最上層的Web項目所關聯,數據 ...
  • 下麵這個字元串數組: 實現這個要求的方法也許會很多。下麵Insus.NET使用一個通用的方法來實現:面向對象,創建一個類別Class Digit: class Digit { private int _D; public int D { get { return _D; } set { _D = v ...
  • 通過手機號獲取歸屬地。及控制項LitJosn.dll的簡單使用。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...