public void Work() { var someData = new SomeDataClass(); someData.SomeDataChanged += new EventHandler(someData_SomeDataChanged); someData.SomeData = "New Value"; }
static void Main() { SomeDataClass data1 = new SomeDataClass(); SomeDataClass data2 = new SomeDataClass(); data1.Data = SomeData.Load("somefile.dat"); data2.Data = data1.Data; }
static void Main() { SomeDataClass data1 = new SomeDataClass(); SomeDataClass data2 = new SomeDataClass(); data1.Data = "somefile.dat"; // this is a load data2.Data = data1.Data; // this is not a load }
public void RpcDoSomething(SomeDataClass data) { // empty }
static void Main(string[] args) { Console.WriteLine(DateTime.Now); int counter = 0; var p = new Program(); p.Setup(); Console.Write(p.ProcessWithLogging()); Console.ReadLine(); Console.Write(p.ProcessWithLogging()); List <SomeClass> list = new List <SomeClass>() { new SomeClass() }; // Structs var l1 = p.PeopleEmployeedWithinLocation_Classes(100, new LocationClass()); var l2 = p.PeopleEmployeedWithinLocation_Structs(100, new LocationStruct()); Console.WriteLine(l1.ToString() + l2.ToString()); // Listing 6-12 // Tuples var tuple1 = new Tuple <int, double>(0, 0.0); var tuple2 = Tuple.Create(0, 0.0); // tuple1.Item1 = 3; not possible var tuple3 = new { A = 1, B = 0.0 }; // Listing 6-13 var tuple4 = (0, 0.0); tuple4.Item1 = 3; // possible var tuple5 = (A : 0, B : 0.0); tuple5.A = 3; p.FooBar(tuple1); p.FooBar(tuple4); // boxing dla tuple4! p.SomeBar(3); // Listing 6-14 var result1 = p.ProcessDataReturningTupleWithObjects(list); var result2 = p.ProcessDataReturnigValueTupleWithStructs(list); (ResultDescStruct desc, _) = p.ProcessDataReturnigValueTupleWithStructs(list); // Listing 6-17 int minLength = 10; var pool = ArrayPool <int> .Shared; int[] buffer = pool.Rent(minLength); try { Consume(buffer); } finally { pool.Return(buffer); } // RecyclableMemoryStream //while (true) { var data = new SomeDataClass() { X = 1, Y = 2 }; var str = p.SerializeXmlWithMemoryStream(data); var str2 = p.SerializeXmlWithRecyclableMemoryStream(data); Console.WriteLine(str + Environment.NewLine + str2); } // Delegates p.Delegates(new SomeStruct()); // Closures int value = 4; p.Closures(value); // Listings 6-53, 6-55, 6-57, 6-59 // LINQ var range = Enumerable.Range(0, 100); // allocates System.Linq.Enumerable/'<RangeIterator>d__111' var linq0b = list.Where(x => x.X > 0); var linq0a = list.FirstOrDefault(GreaterHelper); var linq1 = list.Select(x => new { S = x.X + x.Y }); var linq2 = list.Select(x => ValueTuple.Create(x.X + x.Y)); var linq3 = from x in list let s = x.X + x.Y select s; var linq4 = p.FilterStrings_WithLINQ(); var linq5 = p.FilterStrings_WithoutLINQ(); Console.WriteLine(linq4.Count() + linq5.Count()); // Params p.MethodWithParams("Counter {0}", counter); // new object[] { counter } p.MethodWithParams("Hello!"); // uses static EmptyArray<object>.Value // Summary var arg1 = new int[] { 1, 4, 7, 9 }; int[] intData = new[] { 123, 32, 4 }; int[] results = p.SummaryOnArrayToArray(arg1, 2, 8, 2); var results2 = p.SummaryOnArrayToList(intData, 31).TrueForAll(x => x > 0); var results3 = p.SummaryOnArrayToListGeneric(intData, 31).TrueForAll(x => x > 0); var results4 = p.SummaryOnArrayToEnumerable(intData, 31).ToList().TrueForAll(x => x > 0); Console.WriteLine(results.ToString() + results2.ToString() + results3.ToString() + results4.ToString()); // Async Console.WriteLine(p.ReadFileAsync("TextFile2.txt").Result); Console.WriteLine(p.ReadFileAsyncValue("TextFile2.txt").Result); Console.WriteLine(p.ConsumeValueTask_RarelyNeeded("TextFile2.txt").Result); Console.WriteLine(p.ConsumeValueTask_Good("TextFile2.txt").Result); // ArrayPool Console.WriteLine(p.UseArrayPool(100)); var arrayPool = ArrayPool <int> .Shared.Rent(2 * 1024 * 1024); Console.WriteLine(arrayPool[0]); ArrayPool <int> .Shared.Return(arrayPool); Console.ReadLine(); }