跳到主要內容

發表文章

目前顯示的是 6月, 2017的文章

SASS基本語法範例

最近想在 ASP.NET 專案使用 SASS 取替自己寫了很久的 CSS(畢竟少打很多字也有更多的彈性),突然才發現 SASS 語法又忘了一大半,不過在 ASP.NET 上好像.sass 不支援 intellisense ,有人會的話也請不吝賜教,這裡留個簡單例子來提醒快半腦殘的自己^^。言歸正傳,SASS 其實最終需要再解析回 CSS 但在寫法上不但支援 SCSS @變數,利用 tab 嵌入以減少使用大括號的寫法,更是讓 SASS 成為攻城獅學會後再也無法接受CSS 的一大要素。下面例子為一個簡單的 TabSelect 並讓其具有 hover 的特性,游標指到時字體Color 改為黃色並向上 1em 顯示.. HTML: <ul>   <li>Hello1</li>   <li>Hello2</li>   <li>Hello3</li>   <li>Hello4</li>   <li>Hello5</li> </ul> SASS: body,html   background: black ul   display: flex   list-style: none   align-items: center   align-content: center   vertical-align: middle   margin: 50px   padding: 12px   width: 850px   height: 150px   li         width: 150px     margin: 5px     padding: 12px     text-align: center     &:nth-of-type(1),     // & 指 parent,這裡就是指 li     &:nth-of-type(2),     &:nth-of-type(3),     &:nth-of-type(4),     &:nth-of-type(5)         color: blue    

XML 序列化(XmlSerializer) 用法

XmlSerializer 可以用幫助我們將文件或內容轉成 XML 格式,也可利用 Deserializer 方法轉回原先格式。以下提供一個 飯粒 範例說明: C#: using System.Xml.Serialization; using XMLPractice;  // 自訂 namespace namespace XMLPractice    { [ XmlRoot ("RootList")] public class RootClass {      [ XmlArray ("AuthorList")]         public Author[] At; // 包含了 Author 作者類別      [ XmlArray ("List")]         public Items[] Ie;   // 包含了 Items作者類別  }   public class AuthorEx     {         [ XmlAttribute ("id")] // 建立屬性 id         public int ele_id;         [ XmlText ()] // 建立內容 value 就是結果中的 皮皮、球球 二人組         public string ele_name;     }     public class Items     {         [ XmlText ()]         public string itmes_name;     } }  try {       //Serialization of String Object       RootClass Rclass = new RootClass { At = new[] { new Author{ ele_id = 1, ele_name = "皮皮" },     new Author{ele_id = 2, ele_name = "球球"} } };                   Rclass.Ie = new[] { new

簡單介紹 C# 的屬性類別

在 MSDN 上面看到一篇文章,簡述到有關屬性類別,覺得不錯就拿來寫了個範例並分享給大家,其中類別 Author 用來定義一個作者屬性類別使用,方便以後定義自己開發的類別時(如 SampleClass),可以加上作者屬性(EX: Willison),而 AllowMultiple 為 true 則允許多人加入屬性,這樣以後有人找到 bug 在 SampleClass 中,那原兇是誰呢?? 我想大家都知道是 Willison 了吧 ^^ (偷偷改名嗎?... ) C#: [System. AttributeUsage (System.AttributeTargets.Class | System.AttributeTargets.Struct, AllowMultiple = true)]    class Author : System.Attribute   {         string name;         public double version;         public Author()         {                 this.name = name;                 version = 1.0;         } }  [ Author ("Willison", version = 1.1)]  static class  SampleClass  {       static public void SampleFunc()       {           MessageBox.Show("SampleFunc");       }  } 參考如下:  https://msdn.microsoft.com/zh-tw/library/sw480ze8(v=vs.90).aspx

委託方法介紹(Action & Func)

C# 中的委託是利用方法當作函數的參數,方便不同種類及功能的實現,一般包括有 delegate 、Action 、Func 、Predicate  四種,在這裡僅針對 Action & Func 兩種做介紹,有興趣的話再請各位自行研究其它兩種。 1. Action 可以沒有參數到 16個參數,沒有傳回值,範例如下透過泛型帶入2個參數 p1, p2 委託 ActionFunc 做為委託方法帶入函數 Test 中,根據帶入型別分別顯示出 "Hello World" & 17 的結果出來。 // T1 T2 為泛型參數定義 pubic static void Test<T1, T2>( Action action, T1 p1, T2 p2) {     action (p1, p2); } public static void ActionFunc (string s, string h) {       MessageBox.Show( s+h); } public static void ActionFunc (int s, int h) {       MessageBox.Show( (s+h).ToString( )); } Test<string, string>(ActionFunc, "Hello", " World"); Test<int , int>(ActionFunc, 8, 9); 2. Func 一樣可以沒有參數到 16個參數,但必須有傳回值,範例如下透過泛型帶入2個參數 p1, p2 委託 FuncExample 做為委託方法帶入函數 Test 中,根據帶入型別一樣顯示出 "Hello World" & 17 的結果出來, 而其中須有回傳值設定(見紅字),最後透過 action(p1,p2) 回傳字串顯示 "OK String" & "OK int"。 // T1 T2 為泛型參數定義 pubic static void Test<T1, T2>( Func <T1, T2,

List 泛型中使用 ForEach 的簡單範例

List 在 c# 中非常好用,其中加入一般類型皆可之外,還可加入物件,以下寫個簡單的範例供參考: C#: public class tempcls {        public int first{ get; set; }        public int second{ get; set; }        public tempcls(int x, int y) // Constructor       {             this.first = x;             this.second = y;       }       public string replyAnswer( )      {             return  (this.first + this.second).ToString( ); // 求和      } } List< tempcls > alist = new List< tempcls >( ){ new tempcls (3,4), new tempcls (5,6), new tempcls (9,8)}; alist. ForEach (x => MessageBox.Show(x.replayAnswer)); // 利用 Lambada 及 ForEach 將結果 7 11 17   顯示出來