using System; using System.Collections.Generic; using System.Linq; using System.Text; public class MainClass { public static void Main() { string[] words = { "bei", "rie", "rei", "field" }; bool iAfterE = words.Any(w => w.Contains("ei")); Console.WriteLine("There is a word that contains in the list that contains 'ei': {0}", iAfterE); } }
Aggregate Prototype
using System; using System.Linq; using System.Collections; using System.Collections.Generic; public class MainClass { public static void Main() { int N = 5; IEnumerable<int> intSequence = Enumerable.Range(1, N); foreach (int item in intSequence) Console.WriteLine(item); int agg = intSequence.Aggregate((av, e) => av * e); Console.WriteLine("{0}! = {1}", N, agg); } }
Aggregate and Sum
using System; using System.Linq; using System.Collections; using System.Collections.Generic; public class MainClass { public static void Main() { IEnumerable<int> intSequence = Enumerable.Range(1, 10); foreach (int item in intSequence) Console.WriteLine(item); int sum = intSequence.Aggregate(0, (s, i) => s + i); Console.WriteLine(sum); } }
Creating Office Applications
/* * C# Programmers Pocket Consultant * Author: Gregory S. MacBeth * Email: gmacbeth@comporium.net * Create Date: June 27, 2003 * Last Modified Date: * Version: 1 */ using System; using System.Windows.Forms; using System.Runtime.InteropServices; using Word; namespace Client.Chapter_19___Office_Integration { public class CreatingOfficeApplications { [STAThread] static void Main(string[] args) { Word.ApplicationClass MyWord = new Word.ApplicationClass(); MyWord.Visible = true; System.Windows.Forms.Application.Run(); } } }
Using Office Events
/* * C# Programmers Pocket Consultant * Author: Gregory S. MacBeth * Email: gmacbeth@comporium.net * Create Date: June 27, 2003 * Last Modified Date: * Version: 1 */ using System; using Excel; using System.Reflection; namespace Client.Chapter_19___Office_Integration { public class UsingOfficeEvents { public static AppEvents_WorkbookBeforeCloseEventHandler Event_BeforeBookClose; public static DocEvents_ChangeEventHandler Event_ChangeEvent; static void Main(string[] args) { Application MyExcel = new ApplicationClass(); Workbook MyWorkbook = MyExcel.Workbooks.Add(Missing.Value); MyWorkbook.Windows.get_Item(1).Caption = "Using Delegates"; Worksheet MyWorksheet1 = (Worksheet)MyWorkbook.Worksheets.get_Item(1); Worksheet MyWorksheet2 = (Worksheet)MyWorkbook.Worksheets.get_Item(2); Worksheet MyWorksheet3 = (Worksheet)MyWorkbook.Worksheets.get_Item(3); MyWorksheet1.Activate(); //Add Event Handler for the BeforeClose Event Event_BeforeBookClose = new AppEvents_WorkbookBeforeCloseEventHandler(BeforeBookClose); MyExcel.WorkbookBeforeClose += Event_BeforeBookClose; //Add Event Handler for the change Event Event_ChangeEvent = new DocEvents_ChangeEventHandler(CellChange); MyWorksheet1.Change += Event_ChangeEvent; MyWorksheet2.Change += Event_ChangeEvent; MyWorksheet3.Change += Event_ChangeEvent; MyExcel.Visible = true; MyExcel.UserControl = true; } private static void CellChange(Range Target) { //Gets called when you change a cell } private static void BeforeBookClose(Workbook MyWorkbook, ref bool Cancel) { //Gets called before closing a workbook } } }
Modify Word Document Properties
/* * C# Programmers Pocket Consultant * Author: Gregory S. MacBeth * Email: gmacbeth@comporium.net * Create Date: June 27, 2003 * Last Modified Date: * Version: 1 */ using System; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Reflection; using Word; namespace Client.Chapter_19___Office_Integration { public class ModifyDocumentProperties { [STAThread] static void Main(string[] args) { object Missing = Missing.Value; object BuiltInProps; object CustomProps; Word._Document Doc; Word.ApplicationClass MyWord = new Word.ApplicationClass(); MyWord.Visible = true; Doc = MyWord.Documents.Add(ref Missing, ref Missing, ref Missing, ref Missing); BuiltInProps = Doc.BuiltInDocumentProperties; Type TypeBuiltingProp = BuiltInProps.GetType(); //Setting abuilt-in property string Prop = "Author"; string PropValue; object AuthorProp = TypeBuiltingProp.InvokeMember("item", BindingFlags.Default | BindingFlags.GetProperty, null, BuiltInProps, new Object[] { Prop }); Type TypeAuthorProp = AuthorProp.GetType(); PropValue = TypeAuthorProp.InvokeMember("Value", BindingFlags.Default | BindingFlags.GetProperty, null, AuthorProp, new Object[]{}).ToString(); System.Windows.Forms.Application.Run(); } } }
Create Word CommandBars
/* * C# Programmers Pocket Consultant * Author: Gregory S. MacBeth * Email: gmacbeth@comporium.net * Create Date: June 27, 2003 * Last Modified Date: * Version: 1 */ using System; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Reflection; using Word; using Office = Microsoft.Office.Core; namespace Client.Chapter_19___Office_Integration { public class CreateCommandBars { [STAThread] static void Main(string[] args) { Office.CommandBarButton Button; Office.CommandBar CommandBar; object Missing = System.Reflection.Missing.Value; Office._CommandBarButtonEvents_ClickEventHandler ButtonHandler; Word.ApplicationClass MyWord = new Word.ApplicationClass(); MyWord.Visible = true; CommandBar = MyWord.CommandBars.Add("MyCommandBar", Missing, Missing, Missing); Button = (Office.CommandBarButton)CommandBar.Controls.Add(Office.MsoControlType.msoControlButton, Missing, Missing, Missing, Missing); Button.Caption = "MyButton"; Button.FaceId = 1845; ButtonHandler = new Office._CommandBarButtonEvents_ClickEventHandler(OnClick_Button); Button.Click += ButtonHandler; System.Windows.Forms.Application.Run(); } private void OnClick_Button(Office.CommandBarButton ctrl, ref bool cancel) { MessageBox.Show("This Worked!!!"); } } }