This document provides an introduction to the C# programming language. It outlines prerequisites, learning objectives, and an agenda. The agenda includes an overview of C# design goals like component orientation and everything being an object. It also covers C# fundamentals like types, program structure, statements, operators, and using Visual Studio.NET and the .NET framework. Key points are made about C# having a unified type system where all data is an object and value and reference types can be treated polymorphically using boxing and unboxing.
This document provides an introduction and overview of the C# programming language. It discusses prerequisites, learning objectives, and the agenda. It covers Hello World examples, design goals of C#, types including value types and reference types, program structure, statements, operators, and using Visual Studio and the .NET framework. Key topics are the unified type system in C#, value types vs reference types, boxing and unboxing, predefined types like integers and strings, and object being the root type.
This document provides information about the C# programming language. It discusses that C# is an object-oriented language that can be used to build a variety of applications like Windows and web. Visual C# .NET is Microsoft's integrated development environment (IDE) for building C# applications and is part of the Visual Studio suite. The document also covers C# language fundamentals like variables, data types, operators, and conditional statements.
The document introduces C# and discusses its key features. It describes C# as the first component-oriented language in the C/C++ family, where everything is an object, and which enables robust and durable software through features like garbage collection and exceptions. It also discusses how C# preserves investments in existing software and languages through interoperability. The document provides overviews of major C# concepts like its type system, classes, interfaces, attributes, and statements.
The document introduces C# and discusses its key features. It describes C# as the first component-oriented language in the C/C++ family, where everything is an object and it enables robust and durable software through features like garbage collection and exceptions. It also discusses how C# preserves investments in existing software and languages through interoperability. The document provides overviews of major C# concepts like its type system, classes, interfaces, attributes and statements.
The document introduces C# and discusses its key features. It describes C# as the first component-oriented language in the C/C++ family, where everything is an object and it enables robust and durable software through features like garbage collection and exceptions. It also discusses how C# preserves investments in existing software and languages through interoperability. The document provides overviews of major C# concepts like its type system, classes, interfaces, attributes and statements.
C# is a component-oriented language that introduces object-oriented improvements to the C/C++ family of languages. Key features include garbage collection, exceptions, type safety, and preservation of investments in C++. C# supports classes, interfaces, structs, enums, delegates and events to provide a unified object model.
C# is a component-oriented language that introduces object-oriented improvements to the C/C++ family of languages. Key features include garbage collection, exceptions, type safety, and preservation of C++ investments like namespaces and enums. Everything in C# is an object, unifying value and reference types without performance penalties. The language supports robust features like properties, events, generics and attributes to enable component-based development.
This document provides an introduction and overview of the C# programming language. It discusses prerequisites, learning objectives, and the agenda. It covers Hello World examples, design goals of C#, types including value types and reference types, program structure, statements, operators, and using Visual Studio and the .NET framework. Key topics are the unified type system in C#, value types vs reference types, boxing and unboxing, predefined types like integers and strings, and object being the root type.
This document provides information about the C# programming language. It discusses that C# is an object-oriented language that can be used to build a variety of applications like Windows and web. Visual C# .NET is Microsoft's integrated development environment (IDE) for building C# applications and is part of the Visual Studio suite. The document also covers C# language fundamentals like variables, data types, operators, and conditional statements.
The document introduces C# and discusses its key features. It describes C# as the first component-oriented language in the C/C++ family, where everything is an object, and which enables robust and durable software through features like garbage collection and exceptions. It also discusses how C# preserves investments in existing software and languages through interoperability. The document provides overviews of major C# concepts like its type system, classes, interfaces, attributes, and statements.
The document introduces C# and discusses its key features. It describes C# as the first component-oriented language in the C/C++ family, where everything is an object and it enables robust and durable software through features like garbage collection and exceptions. It also discusses how C# preserves investments in existing software and languages through interoperability. The document provides overviews of major C# concepts like its type system, classes, interfaces, attributes and statements.
The document introduces C# and discusses its key features. It describes C# as the first component-oriented language in the C/C++ family, where everything is an object and it enables robust and durable software through features like garbage collection and exceptions. It also discusses how C# preserves investments in existing software and languages through interoperability. The document provides overviews of major C# concepts like its type system, classes, interfaces, attributes and statements.
C# is a component-oriented language that introduces object-oriented improvements to the C/C++ family of languages. Key features include garbage collection, exceptions, type safety, and preservation of investments in C++. C# supports classes, interfaces, structs, enums, delegates and events to provide a unified object model.
C# is a component-oriented language that introduces object-oriented improvements to the C/C++ family of languages. Key features include garbage collection, exceptions, type safety, and preservation of C++ investments like namespaces and enums. Everything in C# is an object, unifying value and reference types without performance penalties. The language supports robust features like properties, events, generics and attributes to enable component-based development.
C# is an object-oriented programming language that is simple, modern and type-safe, derived from C and C++. It aims to combine the high productivity of Visual Basic with the power of C++. C# programs are typically written in .cs files and compiled to .exe files using the Visual Studio IDE and command line compiler. The language uses the .NET framework class library and supports value types that contain data and reference types that store references to objects.
C# is an object-oriented programming language where programs consist of objects that interact through methods. The document discusses C# program structure, sample code, how code is executed, and data types in C#. It provides details on value types like integers and floats, reference types like strings, and pointer types. Key features of C# include being case sensitive and requiring semicolons. The document also covers operators, variables, and keywords in C#.
The document provides an introduction to the C# programming language. It discusses some of the key ideas and concepts of C# including that it is a component-oriented language where everything is an object. It aims to provide robust and durable software through features like garbage collection, exceptions, and type safety. C# also aims to preserve investments in existing code through interoperability and allowing C++ constructs. The document then provides examples and explanations of various C# language features like classes, structs, interfaces, properties, events, and attributes.
C# is a component-oriented language that introduces object-oriented improvements to the C/C++ family of languages. Everything in C# is an object, providing a unified type system without performance costs. C# aims to produce robust, durable software using techniques like garbage collection and exceptions, while preserving investments in existing C/C++ code through interoperability. The document provides an overview of key C# concepts like classes, interfaces, attributes, events, operators and more.
C# is a component-oriented language that introduces object-oriented improvements to the C/C++ family of languages. Everything in C# is an object, providing a unified type system without performance costs. C# aims to produce robust, durable software using techniques like garbage collection and exceptions, while preserving investments in existing C/C++ code through interoperability. The document provides an overview of key C# concepts like classes, interfaces, attributes, and events to illustrate how C# supports component-based development.
Introduction to Csharp (C-Sharp) is a programming language developed by Micro...NALESVPMEngg
Â
The document provides an introduction to the C# programming language. It discusses some of the key ideas and concepts of C# including that it is a component-oriented language where everything is an object. It aims to provide robust and durable software through features like garbage collection, exceptions, and type safety. C# also aims to preserve investments in existing code through interoperability and allowing C++ constructs. The document then provides examples and explanations of various C# language features like classes, structs, interfaces, properties, events, and attributes.
This document provides information on various .NET and C# concepts:
1. It begins with an example C# program that multiplies two numbers and prints the result, demonstrating basic program structure and comments.
2. It then covers identifiers, keywords, single-line and multi-line comments in C#, and the differences between value types and reference types.
3. The document concludes by discussing object-oriented programming concepts in C# like classes, constructors, destructors, methods, inheritance, polymorphism, abstraction, interfaces, and abstract classes.
The document provides an introduction to C# programming, including:
- C# was developed by Microsoft for the .NET framework and is based on C and C++.
- Visual Studio is used to create C# projects and console applications.
- A basic "Hello World" console app is demonstrated using Console.WriteLine().
- Common data types like int, string, char, and boolean are explained.
The document provides an overview of C# program structure including comments, identifiers, classes, methods, data types, variables, and input/output. Some key points:
- C# uses single-line and multi-line comments for documentation.
- Identifiers name variables, classes, and methods using letters, digits and underscores with case sensitivity.
- A class contains methods and defines the structure of an object. The Main method is entry point for console apps.
- Built-in data types include integers, floats, decimals, booleans, characters and strings.
- Variables store values of a specific data type and are declared with type and name. Constants are similar but values cannot change.
- Console
C# programs use namespaces and classes. A class defines methods and variables. C# supports inheritance, interfaces, structs, and enums. The main method runs code. Common data types include primitive types like int and reference types like string. C# can read input, perform math operations, and conditionally execute code using if/else statements. Methods can pass parameters by value or reference.
The document discusses the role of CLR (Common Language Runtime) in .NET framework. It explains that CLR converts programs to native code, handles exceptions, provides type safety, memory management, security, improved performance and is language and platform independent. It also discusses garbage collection and language features supported by CLR. The main components of CLR are CTS (Common Type System), JIT (Just-In-Time) compiler and CLS (Common Language Specification). CTS defines value and reference types while JIT compiles CIL to machine code. CLS provides language interoperability.
434090527-C-Cheat-Sheet. pdf C# programMAHESHV559910
Â
The document provides an introduction and overview of C# programming basics including:
- C# was developed by Microsoft for the .NET framework and is based on C and C++.
- Visual Studio can be used to create and run C# console applications, using templates like Console App.
- A basic "Hello World" C# console app is demonstrated using Console.WriteLine().
- Common data types in C# include primitive types like int and bool, as well as reference types like string.
This document provides an overview of C# and .NET framework concepts including:
- C# is a type-safe, object-oriented language that runs on the .NET framework and CLR.
- Key C# concepts covered include variables, value types, reference types, classes, interfaces, inheritance, namespaces, operators, and control flow statements.
- The .NET framework provides a common language runtime, class library, and tools for building applications across platforms.
PERTEMUAN 1 - MENGENAL ENVIRONTMENT PROGRAM VISUAL C#.pptxTriSandhikaJaya
Â
This document introduces C# and provides an agenda that includes Hello World, the .NET Framework, the design goals of C#, and C# language features. The .NET Framework section describes the Common Language Runtime and services like ASP.NET and Windows Forms. The design goals section explains that C# is a component-oriented language that aims for simplicity, robustness, and preserving investments in other languages. The language features section provides an overview of key elements of the C# language like classes, structs, interfaces, and events.
The document discusses C# and .NET programming concepts. It states that C# is the primary language for .NET development and provides an overview of key C# concepts like variables, data types, operators, control flow statements, classes, objects, inheritance, polymorphism, and the differences between classes and structures. It also covers arrays, namespaces, properties, and common .NET modifiers like public, private, and static.
The document discusses C# and the .NET framework. It covers:
- The goals and components of the .NET framework, including the common language runtime (CLR) and class library.
- Key concepts in .NET like value types, reference types, boxing/unboxing, and the unified type system.
- Features that enable component-oriented development in C# like properties, events, and attributes.
- Productivity features of C# like parameter arrays, ref/out parameters, and foreach loops.
The document provides an overview of the .NET platform and C# programming language. It discusses the .NET framework and common language runtime (CLR), introduces C# components like classes and delegates, and covers ASP.NET web development fundamentals such as the page lifecycle, master pages, and application/session state.
The document provides an overview of getting started with C#, including:
- An introduction to C# and its evolution from versions 1.0 to 9.0.
- Key topics covered include data types, variables, value types vs reference types, and keywords.
- Coding standards, sample programs, and operators are also discussed to help newcomers get up and running with C#.
The document outlines topics related to C# programming including fundamentals, data types, expressions, debugging, conditional statements, loops, classes, methods, and other concepts. It provides descriptions and examples for key elements like declaring variables, defining classes and objects, boxing and unboxing value types, namespaces, and more. The document appears to be serving as a course outline or guide for learning C#.
Esoft Metro Campus - Diploma in Information Technology - (Module IX) Programming with C#.NET
(Template - Virtusa Corporate)
Contents:
Introduction to .NET Framework
.NET Framework Platform Architecture
Microsoft Visual Studio
C# Language
C#, VS and .NET Framework Versions
Your First C# Application
Printing Statements
Comments in C#
Common Type System
Value Types and Reference Type
Variables Declaration in C#
Type Conversion
Arithmetic Operators
Assignment Operators
Comparison Operators
Logical Operators
If Statement
IfâĻ Else Statement
IfâĻ Else ifâĻ Else Statement
Nested If Statement
Switch Statement
While Loop
Do While Loop
For Loop
Arrays
Accessing Arrays using foreach Loop
Two Dimensional Arrays
Classes and Objects in C#
Inheritance in C#
Partial Classes
Namespaces
Windows Forms Applications
Using Buttons, Labels and Text Boxes
Displaying Message Boxes
Error Handling with TryâĻ CatchâĻ finallyâĻ
Using Radio Buttons
Using Check Boxes
Using List Boxes
Creating Menus
Creating ToolStrips
MDI Forms
Database Application in C#
Creating a Simple Database Application
SQL Insert / Update / Retrieving / Delete
SQL Command Execute Methods
Data Sets
This document provides an overview of front-end web development. It begins by defining a website and web development. It then discusses different types of web developers, including front-end developers who work with HTML, CSS, and JavaScript to define the visual design and user interface. The document also briefly introduces back-end development with server-side languages. Finally, it provides short descriptions of HTML for page structure, CSS for styling, and JavaScript for interactive elements.
This document provides an introduction to the C# programming language. It outlines prerequisites, learning objectives, and an agenda. The agenda includes an overview of C#'s design goals like component orientation and everything being an object. It also covers C# fundamentals like types, program structure, statements, operators, and using Visual Studio.NET and the .NET framework. Types discussed include value types like integral and floating point numbers as well as reference types like strings and objects.
C# is an object-oriented programming language that is simple, modern and type-safe, derived from C and C++. It aims to combine the high productivity of Visual Basic with the power of C++. C# programs are typically written in .cs files and compiled to .exe files using the Visual Studio IDE and command line compiler. The language uses the .NET framework class library and supports value types that contain data and reference types that store references to objects.
C# is an object-oriented programming language where programs consist of objects that interact through methods. The document discusses C# program structure, sample code, how code is executed, and data types in C#. It provides details on value types like integers and floats, reference types like strings, and pointer types. Key features of C# include being case sensitive and requiring semicolons. The document also covers operators, variables, and keywords in C#.
The document provides an introduction to the C# programming language. It discusses some of the key ideas and concepts of C# including that it is a component-oriented language where everything is an object. It aims to provide robust and durable software through features like garbage collection, exceptions, and type safety. C# also aims to preserve investments in existing code through interoperability and allowing C++ constructs. The document then provides examples and explanations of various C# language features like classes, structs, interfaces, properties, events, and attributes.
C# is a component-oriented language that introduces object-oriented improvements to the C/C++ family of languages. Everything in C# is an object, providing a unified type system without performance costs. C# aims to produce robust, durable software using techniques like garbage collection and exceptions, while preserving investments in existing C/C++ code through interoperability. The document provides an overview of key C# concepts like classes, interfaces, attributes, events, operators and more.
C# is a component-oriented language that introduces object-oriented improvements to the C/C++ family of languages. Everything in C# is an object, providing a unified type system without performance costs. C# aims to produce robust, durable software using techniques like garbage collection and exceptions, while preserving investments in existing C/C++ code through interoperability. The document provides an overview of key C# concepts like classes, interfaces, attributes, and events to illustrate how C# supports component-based development.
Introduction to Csharp (C-Sharp) is a programming language developed by Micro...NALESVPMEngg
Â
The document provides an introduction to the C# programming language. It discusses some of the key ideas and concepts of C# including that it is a component-oriented language where everything is an object. It aims to provide robust and durable software through features like garbage collection, exceptions, and type safety. C# also aims to preserve investments in existing code through interoperability and allowing C++ constructs. The document then provides examples and explanations of various C# language features like classes, structs, interfaces, properties, events, and attributes.
This document provides information on various .NET and C# concepts:
1. It begins with an example C# program that multiplies two numbers and prints the result, demonstrating basic program structure and comments.
2. It then covers identifiers, keywords, single-line and multi-line comments in C#, and the differences between value types and reference types.
3. The document concludes by discussing object-oriented programming concepts in C# like classes, constructors, destructors, methods, inheritance, polymorphism, abstraction, interfaces, and abstract classes.
The document provides an introduction to C# programming, including:
- C# was developed by Microsoft for the .NET framework and is based on C and C++.
- Visual Studio is used to create C# projects and console applications.
- A basic "Hello World" console app is demonstrated using Console.WriteLine().
- Common data types like int, string, char, and boolean are explained.
The document provides an overview of C# program structure including comments, identifiers, classes, methods, data types, variables, and input/output. Some key points:
- C# uses single-line and multi-line comments for documentation.
- Identifiers name variables, classes, and methods using letters, digits and underscores with case sensitivity.
- A class contains methods and defines the structure of an object. The Main method is entry point for console apps.
- Built-in data types include integers, floats, decimals, booleans, characters and strings.
- Variables store values of a specific data type and are declared with type and name. Constants are similar but values cannot change.
- Console
C# programs use namespaces and classes. A class defines methods and variables. C# supports inheritance, interfaces, structs, and enums. The main method runs code. Common data types include primitive types like int and reference types like string. C# can read input, perform math operations, and conditionally execute code using if/else statements. Methods can pass parameters by value or reference.
The document discusses the role of CLR (Common Language Runtime) in .NET framework. It explains that CLR converts programs to native code, handles exceptions, provides type safety, memory management, security, improved performance and is language and platform independent. It also discusses garbage collection and language features supported by CLR. The main components of CLR are CTS (Common Type System), JIT (Just-In-Time) compiler and CLS (Common Language Specification). CTS defines value and reference types while JIT compiles CIL to machine code. CLS provides language interoperability.
434090527-C-Cheat-Sheet. pdf C# programMAHESHV559910
Â
The document provides an introduction and overview of C# programming basics including:
- C# was developed by Microsoft for the .NET framework and is based on C and C++.
- Visual Studio can be used to create and run C# console applications, using templates like Console App.
- A basic "Hello World" C# console app is demonstrated using Console.WriteLine().
- Common data types in C# include primitive types like int and bool, as well as reference types like string.
This document provides an overview of C# and .NET framework concepts including:
- C# is a type-safe, object-oriented language that runs on the .NET framework and CLR.
- Key C# concepts covered include variables, value types, reference types, classes, interfaces, inheritance, namespaces, operators, and control flow statements.
- The .NET framework provides a common language runtime, class library, and tools for building applications across platforms.
PERTEMUAN 1 - MENGENAL ENVIRONTMENT PROGRAM VISUAL C#.pptxTriSandhikaJaya
Â
This document introduces C# and provides an agenda that includes Hello World, the .NET Framework, the design goals of C#, and C# language features. The .NET Framework section describes the Common Language Runtime and services like ASP.NET and Windows Forms. The design goals section explains that C# is a component-oriented language that aims for simplicity, robustness, and preserving investments in other languages. The language features section provides an overview of key elements of the C# language like classes, structs, interfaces, and events.
The document discusses C# and .NET programming concepts. It states that C# is the primary language for .NET development and provides an overview of key C# concepts like variables, data types, operators, control flow statements, classes, objects, inheritance, polymorphism, and the differences between classes and structures. It also covers arrays, namespaces, properties, and common .NET modifiers like public, private, and static.
The document discusses C# and the .NET framework. It covers:
- The goals and components of the .NET framework, including the common language runtime (CLR) and class library.
- Key concepts in .NET like value types, reference types, boxing/unboxing, and the unified type system.
- Features that enable component-oriented development in C# like properties, events, and attributes.
- Productivity features of C# like parameter arrays, ref/out parameters, and foreach loops.
The document provides an overview of the .NET platform and C# programming language. It discusses the .NET framework and common language runtime (CLR), introduces C# components like classes and delegates, and covers ASP.NET web development fundamentals such as the page lifecycle, master pages, and application/session state.
The document provides an overview of getting started with C#, including:
- An introduction to C# and its evolution from versions 1.0 to 9.0.
- Key topics covered include data types, variables, value types vs reference types, and keywords.
- Coding standards, sample programs, and operators are also discussed to help newcomers get up and running with C#.
The document outlines topics related to C# programming including fundamentals, data types, expressions, debugging, conditional statements, loops, classes, methods, and other concepts. It provides descriptions and examples for key elements like declaring variables, defining classes and objects, boxing and unboxing value types, namespaces, and more. The document appears to be serving as a course outline or guide for learning C#.
Esoft Metro Campus - Diploma in Information Technology - (Module IX) Programming with C#.NET
(Template - Virtusa Corporate)
Contents:
Introduction to .NET Framework
.NET Framework Platform Architecture
Microsoft Visual Studio
C# Language
C#, VS and .NET Framework Versions
Your First C# Application
Printing Statements
Comments in C#
Common Type System
Value Types and Reference Type
Variables Declaration in C#
Type Conversion
Arithmetic Operators
Assignment Operators
Comparison Operators
Logical Operators
If Statement
IfâĻ Else Statement
IfâĻ Else ifâĻ Else Statement
Nested If Statement
Switch Statement
While Loop
Do While Loop
For Loop
Arrays
Accessing Arrays using foreach Loop
Two Dimensional Arrays
Classes and Objects in C#
Inheritance in C#
Partial Classes
Namespaces
Windows Forms Applications
Using Buttons, Labels and Text Boxes
Displaying Message Boxes
Error Handling with TryâĻ CatchâĻ finallyâĻ
Using Radio Buttons
Using Check Boxes
Using List Boxes
Creating Menus
Creating ToolStrips
MDI Forms
Database Application in C#
Creating a Simple Database Application
SQL Insert / Update / Retrieving / Delete
SQL Command Execute Methods
Data Sets
This document provides an overview of front-end web development. It begins by defining a website and web development. It then discusses different types of web developers, including front-end developers who work with HTML, CSS, and JavaScript to define the visual design and user interface. The document also briefly introduces back-end development with server-side languages. Finally, it provides short descriptions of HTML for page structure, CSS for styling, and JavaScript for interactive elements.
This document provides an introduction to the C# programming language. It outlines prerequisites, learning objectives, and an agenda. The agenda includes an overview of C#'s design goals like component orientation and everything being an object. It also covers C# fundamentals like types, program structure, statements, operators, and using Visual Studio.NET and the .NET framework. Types discussed include value types like integral and floating point numbers as well as reference types like strings and objects.
Programming Lesson by Slidesgo - Copy.pptxReemaAsker1
Â
This document provides an overview of HTML document structure and formatting. It discusses HTML elements like headings, horizontal lines, line breaks, and text formatting. It also mentions the <quote> tag. The document contains several sections on HTML formatting and structure.
This document contains a presentation template with sections for an opening, speakers, and introduction. The template includes multiple slides on each section with layouts, charts, and examples of the types of content that can be included, such as an agenda, timeline, or descriptions of services. It also provides instructions on how to customize the template by changing colors, photos, and text and use it as a theme in Google Slides. The template is intended to help users create formal presentations.
The document discusses several design patterns including Singleton, Factory, Chain of Responsibility, Adapter, Strategy, Composite, and Observer patterns. It provides descriptions of each pattern including their intent, participants, relationships between participants, and examples. The Singleton pattern ensures only one instance of a class is created while the Factory pattern abstracts object creation. Chain of Responsibility passes requests between handlers in a chain until one handles it. Adapter converts one interface to another while Strategy makes behaviors interchangeable. Composite represents part-whole hierarchies and Observer notifies dependents of state changes.
CMS requires IT project proposals to complete a Business Case outlining the proposal for evaluation. The Business Case allows a Governance Review Team and Board to strategically manage the IT portfolio by evaluating, advising on, and approving or denying projects. It should describe the business need, benefits to CMS, alignment with priorities, performance measures, at least three alternatives considered with pros/cons and costs, and estimated total life cycle costs. Completing the Business Case facilitates review of proposals within CMS' Target Life Cycle governance framework.
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfflufftailshop
Â
When it comes to unit testing in the .NET ecosystem, developers have a wide range of options available. Among the most popular choices are NUnit, XUnit, and MSTest. These unit testing frameworks provide essential tools and features to help ensure the quality and reliability of code. However, understanding the differences between these frameworks is crucial for selecting the most suitable one for your projects.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
Â
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
This presentation provides valuable insights into effective cost-saving techniques on AWS. Learn how to optimize your AWS resources by rightsizing, increasing elasticity, picking the right storage class, and choosing the best pricing model. Additionally, discover essential governance mechanisms to ensure continuous cost efficiency. Whether you are new to AWS or an experienced user, this presentation provides clear and practical tips to help you reduce your cloud costs and get the most out of your budget.
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Jeffrey Haguewood
Â
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on automated letter generation for Bonterra Impact Management using Google Workspace or Microsoft 365.
Interested in deploying letter generation automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Â
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Dive into the realm of operating systems (OS) with Pravash Chandra Das, a seasoned Digital Forensic Analyst, as your guide. đ This comprehensive presentation illuminates the core concepts, types, and evolution of OS, essential for understanding modern computing landscapes.
Beginning with the foundational definition, Das clarifies the pivotal role of OS as system software orchestrating hardware resources, software applications, and user interactions. Through succinct descriptions, he delineates the diverse types of OS, from single-user, single-task environments like early MS-DOS iterations, to multi-user, multi-tasking systems exemplified by modern Linux distributions.
Crucial components like the kernel and shell are dissected, highlighting their indispensable functions in resource management and user interface interaction. Das elucidates how the kernel acts as the central nervous system, orchestrating process scheduling, memory allocation, and device management. Meanwhile, the shell serves as the gateway for user commands, bridging the gap between human input and machine execution. đģ
The narrative then shifts to a captivating exploration of prominent desktop OSs, Windows, macOS, and Linux. Windows, with its globally ubiquitous presence and user-friendly interface, emerges as a cornerstone in personal computing history. macOS, lauded for its sleek design and seamless integration with Apple's ecosystem, stands as a beacon of stability and creativity. Linux, an open-source marvel, offers unparalleled flexibility and security, revolutionizing the computing landscape. đĨī¸
Moving to the realm of mobile devices, Das unravels the dominance of Android and iOS. Android's open-source ethos fosters a vibrant ecosystem of customization and innovation, while iOS boasts a seamless user experience and robust security infrastructure. Meanwhile, discontinued platforms like Symbian and Palm OS evoke nostalgia for their pioneering roles in the smartphone revolution.
The journey concludes with a reflection on the ever-evolving landscape of OS, underscored by the emergence of real-time operating systems (RTOS) and the persistent quest for innovation and efficiency. As technology continues to shape our world, understanding the foundations and evolution of operating systems remains paramount. Join Pravash Chandra Das on this illuminating journey through the heart of computing. đ
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
A Comprehensive Guide to DeFi Development Services in 2024Intelisync
Â
DeFi represents a paradigm shift in the financial industry. Instead of relying on traditional, centralized institutions like banks, DeFi leverages blockchain technology to create a decentralized network of financial services. This means that financial transactions can occur directly between parties, without intermediaries, using smart contracts on platforms like Ethereum.
In 2024, we are witnessing an explosion of new DeFi projects and protocols, each pushing the boundaries of whatâs possible in finance.
In summary, DeFi in 2024 is not just a trend; itâs a revolution that democratizes finance, enhances security and transparency, and fosters continuous innovation. As we proceed through this presentation, we'll explore the various components and services of DeFi in detail, shedding light on how they are transforming the financial landscape.
At Intelisync, we specialize in providing comprehensive DeFi development services tailored to meet the unique needs of our clients. From smart contract development to dApp creation and security audits, we ensure that your DeFi project is built with innovation, security, and scalability in mind. Trust Intelisync to guide you through the intricate landscape of decentralized finance and unlock the full potential of blockchain technology.
Ready to take your DeFi project to the next level? Partner with Intelisync for expert DeFi development services today!
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
Â
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
Â
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Â
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind fÃŧr viele in der HCL-Community seit letztem Jahr ein heiÃes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und LizenzgebÃŧhren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer mÃļglich. Das verstehen wir und wir mÃļchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lÃļsen kÃļnnen, die dazu fÃŧhren kÃļnnen, dass mehr Benutzer gezählt werden als nÃļtig, und wie Sie ÃŧberflÃŧssige oder ungenutzte Konten identifizieren und entfernen kÃļnnen, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnÃļtigen Ausgaben fÃŧhren kÃļnnen, z. B. wenn ein Personendokument anstelle eines Mail-Ins fÃŧr geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren LÃļsungen. Und natÃŧrlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Ãberblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und ÃŧberflÃŧssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps fÃŧr häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Â
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
Â
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This yearâs report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Tatiana Kojar
Â
Skybuffer AI, built on the robust SAP Business Technology Platform (SAP BTP), is the latest and most advanced version of our AI development, reaffirming our commitment to delivering top-tier AI solutions. Skybuffer AI harnesses all the innovative capabilities of the SAP BTP in the AI domain, from Conversational AI to cutting-edge Generative AI and Retrieval-Augmented Generation (RAG). It also helps SAP customers safeguard their investments into SAP Conversational AI and ensure a seamless, one-click transition to SAP Business AI.
With Skybuffer AI, various AI models can be integrated into a single communication channel such as Microsoft Teams. This integration empowers business users with insights drawn from SAP backend systems, enterprise documents, and the expansive knowledge of Generative AI. And the best part of it is that it is all managed through our intuitive no-code Action Server interface, requiring no extensive coding knowledge and making the advanced AI accessible to more users.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
Â
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
Generating privacy-protected synthetic data using Secludy and Milvus
Â
IntroductionToCSharp.ppt
1. Introduction to C#
Mark Sapossnek
CS 594
Computer Science Department
Metropolitan College
Boston University
2. Prerequisites
īˇ This module assumes that you understand the
fundamentals of
īŽ Programming
īŦ Variables, statements, functions, loops, etc.
īŽ Object-oriented programming
īŦ Classes, inheritance, polymorphism,
members, etc.
īŦ C++ or Java
3. Learning Objectives
īˇ C# design goals
īˇ Fundamentals of the C# language
īŽ Types, program structure, statements, operators
īˇ Be able to begin writing and debugging C#
programs
īŽ Using the .NET Framework SDK
īŽ Using Visual Studio.NET
īˇ Be able to write individual C# methods
4. Agenda
īˇ Hello World
īˇ Design Goals of C#
īˇ Types
īˇ Program Structure
īˇ Statements
īˇ Operators
īˇ Using Visual Studio.NET
īˇ Using the .NET Framework SDK
5. Hello World
using System;
class Hello {
static void Main( ) {
Console.WriteLine("Hello world");
Console.ReadLine(); // Hit enter to finish
}
}
6. Agenda
īˇ Hello World
īˇ Design Goals of C#
īˇ Types
īˇ Program Structure
īˇ Statements
īˇ Operators
īˇ Using Visual Studio.NET
īˇ Using the .NET Framework SDK
7. Design Goals of C#
The Big Ideas
īˇ Component-orientation
īˇ Everything is an object
īˇ Robust and durable software
īˇ Preserving your investment
8. Design Goals of C#
Component-Orientation
īˇ C# is the first âComponent-Orientedâ language in
the C/C++ family
īˇ What is a component?
īŽ An independent module of reuse and deployment
īŽ Coarser-grained than objects
(objects are language-level constructs)
īŽ Includes multiple classes
īŽ Often language-independent
īŽ In general, component writer and user donât know
each other, donât work for the same company, and
donât use the same language
9. Design Goals of C#
Component-Orientation
īˇ Component concepts are first class
īŽ Properties, methods, events
īŽ Design-time and run-time attributes
īŽ Integrated documentation using XML
īˇ Enables âone-stop programmingâ
īŽ No header files, IDL, etc.
īŽ Can be embedded in ASP pages
10. Design Goals of C#
Everything is an Object
īˇ Traditional views
īŽ C++, Javaâĸ: Primitive types are âmagicâ and do not
interoperate with objects
īŽ Smalltalk, Lisp: Primitive types are objects, but at
some performance cost
īˇ C# unifies with no performance cost
īŽ Deep simplicity throughout system
īˇ Improved extensibility and reusability
īŽ New primitive types: Decimal, SQLâĻ
īŽ Collections, etc., work for all types
11. Design Goals of C#
Robust and Durable Software
īˇ Garbage collection
īŽ No memory leaks and stray pointers
īˇ Exceptions
īˇ Type-safety
īŽ No uninitialized variables, no unsafe casts
īˇ Versioning
īˇ Avoid common errors
īŽ E.g. if (x = y) ...
īˇ One-stop programming
īŽ Fewer moving parts
12. Design Goals of C#
Preserving Your Investment
īˇ C++ Heritage
īŽ Namespaces, pointers (in unsafe code),
unsigned types, etc.
īŽ Some changes, but no unnecessary sacrifices
īˇ Interoperability
īŽ What software is increasingly about
īŽ C# talks to XML, SOAP, COM, DLLs, and any
.NET Framework language
īˇ Increased productivity
īŽ Short learning curve
īŽ Millions of lines of C# code in .NET
13. Agenda
īˇ Hello World
īˇ Design Goals of C#
īˇ Types
īˇ Program Structure
īˇ Statements
īˇ Operators
īˇ Using Visual Studio.NET
īˇ Using the .NET Framework SDK
14. Types
Overview
īˇ A C# program is a collection of types
īŽ Classes, structs, enums, interfaces, delegates
īˇ C# provides a set of predefined types
īŽ E.g. int, byte, char, string, object, âĻ
īˇ You can create your own types
īˇ All data and code is defined within
a type
īŽ No global variables, no global functions
15. Types
Overview
īˇ Types contain:
īŽ Data members
īŦ Fields, constants, arrays
īŦ Events
īŽ Function members
īŦ Methods, operators, constructors, destructors
īŦ Properties, indexers
īŽ Other types
īŦ Classes, structs, enums, interfaces, delegates
16. Types
Overview
īˇ Types can be instantiatedâĻ
īŽ âĻand then used: call methods,
get and set properties, etc.
īˇ Can convert from one type to another
īŽ Implicitly and explicitly
īˇ Types are organized
īŽ Namespaces, files, assemblies
īˇ There are two categories of types:
value and reference
īˇ Types are arranged in a hierarchy
17. Types
Unified Type System
īˇ Value types
īŽ Directly contain data
īŽ Cannot be null
īˇ Reference types
īŽ Contain references to objects
īŽ May be null
int i = 123;
string s = "Hello world";
123
i
s "Hello world"
18. Types
Unified Type System
īˇ Value types
īŽ Primitives int i; float x;
īŽ Enums enum State { Off, On }
īŽ Structs struct Point {int x,y;}
īˇ Reference types
īŽ Root object
īŽ String string
īŽ Classes class Foo: Bar, IFoo {...}
īŽ Interfaces interface IFoo: IBar {...}
īŽ Arrays string[] a = new string[10];
īŽ Delegates delegate void Empty();
19. Types
Unified Type System
Value (Struct) Reference (Class)
Variable holds Actual value Memory location
Allocated on Stack, member Heap
Nullability Always has value May be null
Default value 0 null
Aliasing (in a scope) No Yes
Assignment means Copy data Copy reference
20. Types
Unified Type System
īˇ Benefits of value types
īŽ No heap allocation, less GC pressure
īŽ More efficient use of memory
īŽ Less reference indirection
īŽ Unified type system
īŦ No primitive/object dichotomy
21. Types
Conversions
īˇ Implicit conversions
īŽ Occur automatically
īŽ Guaranteed to succeed
īŽ No information (precision) loss
īˇ Explicit conversions
īŽ Require a cast
īŽ May not succeed
īŽ Information (precision) might be lost
īˇ Both implicit and explicit conversions can be
user-defined
22. Types
Conversions
int x = 123456;
long y = x; // implicit
short z = (short)x; // explicit
double d = 1.2345678901234;
float f = (float)d; // explicit
long l = (long)d; // explicit
23. Types
Unified Type System
īˇ Everything is an object
īŽ All types ultimately inherit from object
īŽ Any piece of data can be stored, transported, and
manipulated with no extra work
MemoryStream FileStream
Stream Hashtable int double
object
24. Types
Unified Type System
īˇ Polymorphism
īŽ The ability to perform an operation on an object
without knowing the precise type of the object
void Poly(object o) {
Console.WriteLine(o.ToString());
}
Poly(42);
Poly(âabcdâ);
Poly(12.345678901234m);
Poly(new Point(23,45));
25. Types
Unified Type System
īˇ Question: How can we treat value and reference
types polymorphically?
īŽ How does an int (value type) get converted into an
object (reference type)?
īˇ Answer: Boxing!
īŽ Only value types get boxed
īŽ Reference types do not get boxed
26. Types
Unified Type System
īˇ Boxing
īŽ Copies a value type into a reference type (object)
īŽ Each value type has corresponding âhiddenâ
reference type
īŽ Note that a reference-type copy is made of the
value type
īŦ Value types are never aliased
īŽ Value type is converted implicitly to object, a
reference type
īŦ Essentially an âup castâ
27. Types
Unified Type System
īˇ Unboxing
īŽ Inverse operation of boxing
īŽ Copies the value out of the box
īŦ Copies from reference type to value type
īŽ Requires an explicit conversion
īŦ May not succeed (like all explicit conversions)
īŦ Essentially a âdown castâ
28. Types
Unified Type System
īˇ Boxing and unboxing
int i = 123;
object o = i;
int j = (int)o;
123
i
o
123
j
123
System.Int32
29. Types
Unified Type System
īˇ Benefits of boxing
īŽ Enables polymorphism across all types
īŽ Collection classes work with all types
īŽ Eliminates need for wrapper classes
īŽ Replaces OLE Automation's Variant
īˇ Lots of examples in .NET Framework
Hashtable t = new Hashtable();
t.Add(0, "zero");
t.Add(1, "one");
t.Add(2, "two");
string s = string.Format(
"Your total was {0} on {1}",
total, date);
30. Types
Unified Type System
īˇ Disadvantages of boxing
īŽ Performance cost
īˇ The need for boxing will decrease when the CLR
supports generics (similar to C++ templates)
32. Predefined Types
Value Types
īˇ All are predefined structs
Signed sbyte, short, int, long
Unsigned byte, ushort, uint, ulong
Character char
Floating point float, double, decimal
Logical bool
33. Predefined Types
Integral Types
C# Type System Type Size (bytes) Signed?
sbyte System.Sbyte 1 Yes
short System.Int16 2 Yes
int System.Int32 4 Yes
long System.Int64 8 Yes
byte System.Byte 1 No
ushort System.UInt16 2 No
uint System.UInt32 4 No
ulong System.UInt64 8 No
34. Predefined Types
Floating Point Types
īˇ Follows IEEE 754 specification
īˇ Supports Âą 0, Âą Infinity, NaN
C# Type System Type Size (bytes)
float System.Single 4
double System.Double 8
35. Predefined Types
decimal
īˇ 128 bits
īˇ Essentially a 96 bit value scaled by a
power of 10
īˇ Decimal values represented precisely
īˇ Doesnât support signed zeros, infinities
or NaN
C# Type System Type Size (bytes)
decimal System.Decimal 16
36. Predefined Types
decimal
īˇ All integer types can be implicitly converted to a
decimal type
īˇ Conversions between decimal and floating types
require explicit conversion due to possible loss
of precision
īˇ s * m * 10e
īŽ s = 1 or â1
īŽ 0 īŖ m īŖ 296
īŽ -28 īŖ e īŖ 0
37. Predefined Types
Integral Literals
īˇ Integer literals can be expressed as decimal
or hexadecimal
īˇ U or u: uint or ulong
īˇ L or l: long or ulong
īˇ UL or ul: ulong
123 // Decimal
0x7B // Hexadecimal
123U // Unsigned
123ul // Unsigned long
123L // Long
38. Predefined Types
Real Literals
īˇ F or f: float
īˇ D or d: double
īˇ M or m: decimal
123f // Float
123D // Double
123.456m // Decimal
1.23e2f // Float
12.3E1M // Decimal
39. Predefined Types
bool
īˇ Represents logical values
īˇ Literal values are true and false
īˇ Cannot use 1 and 0 as boolean values
īŽ No standard conversion between other types
and bool
C# Type System Type Size (bytes)
bool System.Boolean 1 (2 for arrays)
40. Predefined Types
char
īˇ Represents a Unicode character
īˇ Literals
īŽ âAâ // Simple character
īŽ âu0041â // Unicode
īŽ âx0041â // Unsigned short hexadecimal
īŽ ânâ // Escape sequence character
C# Type System Type Size (bytes)
Char System.Char 2
41. Predefined Types
char
īˇ Escape sequence characters (partial list)
Char Meaning Value
â Single quote 0x0027
â Double quote 0x0022
Backslash 0x005C
0 Null 0x0000
n New line 0x000A
r Carriage return 0x000D
t Tab 0x0009
43. Predefined Types
object
īˇ Root of object hierarchy
īˇ Storage (book keeping) overhead
īŽ 0 bytes for value types
īŽ 8 bytes for reference types
īˇ An actual reference (not the object)
uses 4 bytes
C# Type System Type Size (bytes)
object System.Object 0/8 overhead
44. Predefined Types
object Public Methods
īˇ public bool Equals(object)
īˇ protected void Finalize()
īˇ public int GetHashCode()
īˇ public System.Type GetType()
īˇ protected object MemberwiseClone()
īˇ public void Object()
īˇ public string ToString()
45. Predefined Types
string
īˇ An immutable sequence of Unicode characters
īˇ Reference type
īˇ Special syntax for literals
īŽ string s = âI am a stringâ;
C# Type System Type Size (bytes)
String System.String 20 minimum
46. Predefined Types
string
īˇ Normally have to use escape characters
īˇ Verbatim string literals
īŽ Most escape sequences ignored
īŦ Except for ââ
īŽ Verbatim literals can be multi-line
string s1= âserverfilesharefilename.csâ;
string s2 = @âserverfilesharefilename.csâ;
47. Types
User-defined Types
īˇ User-defined types
Enumerations enum
Arrays int[], string[]
Interface interface
Reference type class
Value type struct
Function pointer delegate
48. Types
Enums
īˇ An enum defines a type name for a related
group of symbolic constants
īˇ Choices must be known at compile-time
īˇ Strongly typed
īŽ No implicit conversions to/from int
īŽ Can be explicitly converted
īŽ Operators: +, -, ++, --, &, |, ^, ~, âĻ
īˇ Can specify underlying type
īŽ byte, sbyte, short, ushort, int, uint, long, ulong
49. Types
Enums
enum Color: byte {
Red = 1,
Green = 2,
Blue = 4,
Black = 0,
White = Red | Green | Blue
}
Color c = Color.Black;
Console.WriteLine(c); // 0
Console.WriteLine(c.Format()); // Black
50. Types
Enums
īˇ All enums derive from System.Enum
īŽ Provides methods to
īŦ determine underlying type
īŦ test if a value is supported
īŦ initialize from string constant
īŦ retrieve all values in enum
īŦ âĻ
51. Types
Arrays
īˇ Arrays allow a group of elements of a specific
type to be stored in a contiguous block of
memory
īˇ Arrays are reference types
īˇ Derived from System.Array
īˇ Zero-based
īˇ Can be multidimensional
īŽ Arrays know their length(s) and rank
īˇ Bounds checking
52. Types
Arrays
īˇ Declare
īˇ Allocate
īˇ Initialize
īˇ Access and assign
īˇ Enumerate
int[] primes;
int[] primes = new int[9];
int[] prime = new int[] {1,2,3,5,7,11,13,17,19};
int[] prime = {1,2,3,5,7,11,13,17,19};
prime2[i] = prime[i];
foreach (int i in prime) Console.WriteLine(i);
53. Types
Arrays
īˇ Multidimensional arrays
īŽ Rectangular
īŦ int[,] matR = new int[2,3];
īŦ Can initialize declaratively
īŦ int[,] matR =
new int[2,3] { {1,2,3}, {4,5,6} };
īŽ Jagged
īŦ An array of arrays
īŦ int[][] matJ = new int[2][];
īŦ Must initialize procedurally
54. Types
Interfaces
īˇ An interface defines a contract
īŽ Includes methods, properties, indexers, events
īŽ Any class or struct implementing an interface must
support all parts of the contract
īˇ Interfaces provide polymorphism
īŽ Many classes and structs may implement
a particular interface
īˇ Contain no implementation
īŽ Must be implemented by a class or struct
56. Types
Classes
īˇ Members
īŽ Constants, fields, methods, operators,
constructors, destructors
īŽ Properties, indexers, events
īŽ Static and instance members
īˇ Member access
īŽ public, protected, private, internal,
protected internal
īŦ Default is private
īˇ Instantiated with new operator
57. Types
Structs
īˇ Similar to classes, but
īŽ User-defined value type
īŽ Always inherits from object
īˇ Ideal for lightweight objects
īŽ int, float, double, etc., are all structs
īŽ User-defined âprimitiveâ types
īŦ Complex, point, rectangle, color, rational
īˇ Multiple interface inheritance
īˇ Same members as class
īˇ Member access
īŽ public, internal, private
īˇ Instantiated with new operator
58. Types
Classes and Structs
struct SPoint { int x, y; ... }
class CPoint { int x, y; ... }
SPoint sp = new SPoint(10, 20);
CPoint cp = new CPoint(10, 20);
10
20
sp
cp
10
20
CPoint
59. Types
Delegates
īˇ A delegate is a reference type that defines a
method signature
īˇ When instantiated, a delegate holds one or more
methods
īŽ Essentially an object-oriented function pointer
īˇ Foundation for framework events
60. Agenda
īˇ Hello World
īˇ Design Goals of C#
īˇ Types
īˇ Program Structure
īˇ Statements
īˇ Operators
īˇ Using Visual Studio.NET
īˇ Using the .NET Framework SDK
62. Program Structure
Organizing Types
īˇ Physical organization
īŽ Types are defined in files
īŽ Files are compiled into
modules
īŽ Modules are grouped
into assemblies
Assembly
Module
File
Type
63. Program Structure
Organizing Types
īˇ Types are defined in files
īŽ A file can contain multiple types
īŽ Each type is defined in a single file
īˇ Files are compiled into modules
īŽ Module is a DLL or EXE
īŽ A module can contain multiple files
īˇ Modules are grouped into assemblies
īŽ Assembly can contain multiple modules
īŽ Assemblies and modules are often 1:1
64. Program Structure
Organizing Types
īˇ Types are defined in ONE place
īŽ âOne-stop programmingâ
īŽ No header and source files to synchronize
īŽ Code is written âin-lineâ
īŽ Declaration and definition are one and
the same
īŽ A type must be fully defined in one file
īŦ Canât put individual methods in different files
īˇ No declaration order dependence
īŽ No forward references required
65. Program Structure
Namespaces
īˇ Namespaces provide a way to
uniquely identify a type
īˇ Provides logical organization of types
īˇ Namespaces can span assemblies
īˇ Can nest namespaces
īˇ There is no relationship between namespaces
and file structure (unlike Java)
īˇ The fully qualified name of a type includes all
namespaces
67. Program Structure
Namespaces
īˇ The using statement lets you use types without
typing the fully qualified name
īˇ Can always use a fully qualified name
using N1;
C1 a; // The N1. is implicit
N1.C1 b; // Fully qualified name
C2 c; // Error! C2 is undefined
N1.N2.C2 d; // One of the C2 classes
C1.C2 e; // The other one
68. Program Structure
Namespaces
īˇ The using statement also lets you create
aliases
using C1 = N1.N2.C1;
using N2 = N1.N2;
C1 a; // Refers to N1.N2.C1
N2.C1 b; // Refers to N1.N2.C1
69. Program Structure
Namespaces
īˇ Best practice: Put all of your types in a unique
namespace
īˇ Have a namespace for your company, project,
product, etc.
īˇ Look at how the .NET Framework classes are
organized
70. Program Structure
References
īˇ In Visual Studio you specify references
for a project
īˇ Each reference identifies a specific assembly
īˇ Passed as reference (/r or /reference)
to the C# compiler
csc HelloWorld.cs /reference:System.WinForms.dll
71. Program Structure
Namespaces vs. References
īˇ Namespaces provide language-level naming
shortcuts
īŽ Donât have to type a long fully qualified name over
and over
īˇ References specify which assembly to use
72. Program Structure
Main Method
īˇ Execution begins at the static Main() method
īˇ Can have only one method with one of
the following signatures in an assembly
īŽ static void Main()
īŽ static int Main()
īŽ static void Main(string[] args)
īŽ static int Main(string[] args)
73. Program Structure
Syntax
īˇ Identifiers
īŽ Names for types, methods, fields, etc.
īŽ Must be whole word â no white space
īŽ Unicode characters
īŽ Begins with letter or underscore
īŽ Case sensitive
īŽ Must not clash with keyword
īŦ Unless prefixed with @
74. Agenda
īˇ Hello World
īˇ Design Goals of C#
īˇ Types
īˇ Program Structure
īˇ Statements
īˇ Operators
īˇ Using Visual Studio.NET
īˇ Using the .NET Framework SDK
75. Statements
Overview
īˇ High C++ fidelity
īˇ if, while, do require bool condition
īˇ goto canât jump into blocks
īˇ switch statement
īŽ No fall-through
īˇ foreach statement
īˇ checked and unchecked statements
īˇ Expression
statements
must do work
void Foo() {
i == 1; // error
}
77. Statements
Syntax
īˇ Statements are terminated with a
semicolon (;)
īˇ Just like C, C++ and Java
īˇ Block statements { ... } donât need a semicolon
79. Statements
Statement Lists & Block Statements
īˇ Statement list: one or more statements in
sequence
īˇ Block statement: a statement list delimited by
braces { ... }
static void Main() {
F();
G();
{ // Start block
H();
; // Empty statement
I();
} // End block
}
80. Statements
Variables and Constants
static void Main() {
const float pi = 3.14f;
const int r = 123;
Console.WriteLine(pi * r * r);
int a;
int b = 2, c = 3;
a = 1;
Console.WriteLine(a + b + c);
}
82. Statements
Variables and Constants
īˇ Within the scope of a variable or constant it is an
error to declare another variable or constant with
the same name
{
int x;
{
int x; // Error: canât hide variable x
}
}
83. Statements
Variables
īˇ Variables must be assigned a value before they
can be used
īŽ Explicitly or automatically
īŽ Called definite assignment
īˇ Automatic assignment occurs for static fields,
class instance fields and array elements
void Foo() {
string s;
Console.WriteLine(s); // Error
}
84. Statements
Labeled Statements & goto
īˇ goto can be used to transfer control within or
out of a block, but not into a nested block
static void Find(int value, int[,] values,
out int row, out int col) {
int i, j;
for (i = 0; i < values.GetLength(0); i++)
for (j = 0; j < values.GetLength(1); j++)
if (values[i, j] == value) goto found;
throw new InvalidOperationException(âNot found");
found:
row = i; col = j;
}
85. Statements
Expression Statements
īˇ Statements must do work
īŽ Assignment, method call, ++, --, new
static void Main() {
int a, b = 2, c = 3;
a = b + c;
a++;
MyClass.Foo(a,b,c);
Console.WriteLine(a + b + c);
a == 2; // ERROR!
}
87. Statements
switch Statement
īˇ Can branch on any predefined type
(including string) or enum
īŽ User-defined types can provide implicit conversion
to these types
īˇ Must explicitly state how to end case
īŽ With break, goto case, goto label, return,
throw or continue
īŽ Eliminates fall-through bugs
īŽ Not needed if no code supplied after the label
88. Statements
switch Statement
int Test(string label) {
int result;
switch(label) {
case null:
goto case ârunner-upâ;
case âfastestâ:
case âwinnerâ:
result = 1; break;
case ârunner-upâ:
result = 2; break;
default:
result = 0;
}
return result;
}
89. Statements
while Statement
īˇ Requires bool expression
int i = 0;
while (i < 5) {
...
i++;
}
int i = 0;
do {
...
i++;
}
while (i < 5); while (true) {
...
}
92. Statements
foreach Statement
īˇ Iteration of user-defined collections
īˇ Created by implementing IEnumerable
foreach (Customer c in customers.OrderBy("name")) {
if (c.Orders.Count != 0) {
...
}
}
93. Statements
Jump Statements
īˇ break
īŽ Exit inner-most loop
īˇ continue
īŽ End iteration of inner-most loop
īˇ goto <label>
īŽ Transfer execution to label statement
īˇ return [<expression>]
īŽ Exit a method
īˇ throw
īŽ See exception handling
94. Statements
Exception Handling
īˇ Exceptions are the C# mechanism for handling
unexpected error conditions
īˇ Superior to returning status values
īŽ Canât be ignored
īŽ Donât have to handled at the point they occur
īŽ Can be used even where values are not returned
(e.g. accessing a property)
īŽ Standard exceptions are provided
95. Statements
Exception Handling
īˇ try...catch...finally statement
īˇ try block contains code that could throw an
exception
īˇ catch block handles exceptions
īŽ Can have multiple catch blocks to handle different
kinds of exceptions
īˇ finally block contains code that will always be
executed
īŽ Cannot use jump statements (e.g. goto)
to exit a finally block
96. Statements
Exception Handling
īˇ throw statement raises an exception
īˇ An exception is represented as an instance of
System.Exception or derived class
īŽ Contains information about the exception
īŽ Properties
īŦ Message
īŦ StackTrace
īŦ InnerException
īˇ You can rethrow an exception, or catch
one exception and throw another
98. Statements
Synchronization
īˇ Multi-threaded applications have to protect
against concurrent access to data
īŽ Must prevent data corruption
īˇ The lock statement uses an instance to provide
mutual exclusion
īŽ Only one lock statement can have access to the
same instance
īŽ Actually uses the .NET Framework
System.Threading.Monitor class to
provide mutual exclusion
99. Statements
Synchronization
public class CheckingAccount {
decimal balance;
public void Deposit(decimal amount) {
lock (this) {
balance += amount;
}
}
public void Withdraw(decimal amount) {
lock (this) {
balance -= amount;
}
}
}
100. Statements
using Statement
īˇ C# uses automatic memory management
(garbage collection)
īŽ Eliminates most memory management problems
īˇ However, it results in non-deterministic
finalization
īŽ No guarantee as to when and if object destructors
are called
101. Statements
using Statement
īˇ Objects that need to be cleaned up after use
should implement the System.IDisposable
interface
īŽ One method: Dispose()
īˇ The using statement allows you to create an
instance, use it, and then ensure that Dispose
is called when done
īŽ Dispose is guaranteed to be called, as if it were in a
finally block
102. Statements
using Statement
public class MyResource : IDisposable {
public void MyResource() {
// Acquire valuble resource
}
public void Dispose() {
// Release valuble resource
}
public void DoSomething() {
...
}
} using (MyResource r = new MyResource()) {
r.DoSomething();
} // r.Dispose() is called
103. Statements
checked and unchecked Statements
īˇ The checked and unchecked statements allow
you to control overflow checking for integral-type
arithmetic operations and conversions
īˇ checked forces checking
īˇ unchecked forces no checking
īˇ Can use both as block statements or
as an expression
īˇ Default is unchecked
īˇ Use the /checked compiler option to make
checked the default
104. Statements
Basic Input/Output Statements
īˇ Console applications
īŽ System.Console.WriteLine();
īŽ System.Console.ReadLine();
īˇ Windows applications
īŽ System.WinForms.MessageBox.Show();
string v1 = âsome valueâ;
MyObject v2 = new MyObject();
Console.WriteLine(âFirst is {0}, second is {1}â,
v1, v2);
105. Agenda
īˇ Hello World
īˇ Design Goals of C#
īˇ Types
īˇ Program Structure
īˇ Statements
īˇ Operators
īˇ Using Visual Studio.NET
īˇ Using the .NET Framework SDK
106. Operators
Overview
īˇ C# provides a fixed set of operators, whose
meaning is defined for the predefined types
īˇ Some operators can be overloaded (e.g. +)
īˇ The following table summarizes the C#
operators by category
īŽ Categories are in order of decreasing precedence
īŽ Operators in each category have the same
precedence
109. Operators
Precedence
Category Operators
Additive
Add: +
Subtract: -
Shift
Shift bits left: <<
Shift bits right: >>
Relational
Less than: <
Greater than: >
Less than or equal to: <=
Greater than or equal to: >=
Type equality/compatibility: is
Type conversion: as
112. Operators
Associativity
īˇ Assignment and ternary conditional operators
are right-associative
īŽ Operations performed right to left
īŽ x = y = z evaluates as x = (y = z)
īˇ All other binary operators are left-associative
īŽ Operations performed left to right
īŽ x + y + z evaluates as (x + y) + z
īˇ Use parentheses to control order
113. Agenda
īˇ Hello World
īˇ Design Goals of C#
īˇ Types
īˇ Program Structure
īˇ Statements
īˇ Operators
īˇ Using Visual Studio.NET
īˇ Using the .NET Framework SDK
114. Using Visual Studio.NET
īˇ Types of projects
īŽ Console Application
īŽ Windows Application
īŽ Web Application
īŽ Web Service
īŽ Windows Service
īŽ Class Library
īŽ ...
115. Using Visual Studio.NET
īˇ Windows
īŽ Solution Explorer
īŽ Class View
īŽ Properties
īŽ Output
īŽ Task List
īŽ Object Browser
īŽ Server Explorer
īŽ Toolbox
117. Agenda
īˇ Hello World
īˇ Design Goals of C#
īˇ Types
īˇ Program Structure
īˇ Statements
īˇ Operators
īˇ Using Visual Studio.NET
īˇ Using the .NET Framework SDK
118. Using .NET Framework SDK
īˇ Compiling from command line
csc /r:System.WinForms.dll class1.cs file1.cs