C#第一、二部分ノートを深く理解する
4798 ワード
//2
string name
public string Name{
get {return name;}
private set {name = value;}
}
//3
public string Name{get; private set;}
//2
products.Sort(delegate(Product x, Product y){return x.Name.CompareTo(y.Name);}
products.Sort((x,y) => x.Name.CompareTo(y.Name));
//3
foreach(Product product in products.OrderBy(p=>p.Name){}
// 2
products.FindAll(delegate(Product p){return p.Price > 10;})
.ForEach(Consorl.WriteLine);
// 3
foreach(Product product in products.Where(p=>p.Price > 10)){}
products.Where(p=>p.Price == null)
var
//
List products = Product.GetSampleProducts();
List suppliers = Supplier.GetSampleSuppliers();
var filtered = from p in products
join s in suppliers
on p.SupplierID equals s.SupplierID
where p.Price > 10
orderby s.Name, p.Name
select new{SupplierName = s.Name, ProductName = p.Name};
foreach (var v in filtered){
Console.WriteLine("Supplier={0}, Product={1}",v.SupplierName, v.ProductName);
}
class
は参照タイプであり、struct
は値タイプである.梱包メカニズムを参照System.Type
の参照が最も重要なNullable
,A ?? B
ヌルマージオペレータIEnumerator
およびIEnumerable
インターフェースおよびそれらの汎用等価物によってカプセル化されたpartial
(ユニットテスト用)付録:unity C#バージョンの印刷:
using UnityEngine;
using System.Collections;
using System.Reflection;
public class scri : MonoBehaviour {
// Use this for initialization
void Start () {
Type type =Type.GetType("Mono.Runtime");
if(type !=null)
{
MethodInfo displayName = type.GetMethod("GetDisplayName",BindingFlags.NonPublic|BindingFlags.Static);
if(displayName !=null)
Debug.Log(displayName.Invoke(null,null));
}
}
// Update is called once per frame
void Update () {
}
}