-
Class Hierarchy – Creating Interfaces
In C# Programming; interfaces are valuable programming tools because they separate the definition of objects from their implementation. In this video; Joe Barrett explains how to create an interface.
-
Class Hierarchy – Indexers
In C# Programming; you can create an indexer property to give easy access to the items in your array or collection. In this video; Joe Barrett discusses how to use indexers.
-
Consuming Data – Binary Serialization
In C# Programming; you can use binary serialization to send data efficiently to another process. In this video; Joe Barrett demonstrates how to use binary formatter to create and save a file.
-
Consuming Data – Forcing Query Execution
C# Programming enables you to use specific methods to force LINQ to store a static copy of the result in memory. In this video; Joe Barrett demonstrates how a record added to a database does not display in a queried list until the query is rerun.
-
Consuming Data – JSON Data
C# Programming enables you to see JSON data returned from a web service in raw format or; using the DataContractJsonSerializer instance; stream it through; and use it as an object in your application. In this video; Joe Barrett establishes a JSON stream; calls ReadObject method on it; and incorporates it as an object into his application.
-
Consuming Data – JSON Serialization
In C# Programming; you can use JSON serialization to get C# objects from JSON data. In this video; Joe Barrett discusses how to use JSON serialization.
-
Consuming Data – Linq to XML Data
C# Programming enables you to use the LINQ to XML provider to easily import XML file elements; attributes; and values into your applications. In this video; Joe Barrett demonstrates how to load a document and parse its XML elements.
-
Consuming Data – Linq to XML Data Part 2
C# Programming's LINQ to XML functionality enables you to parse attributes and values; loop through collections containing multiple elements of the same name; and extract the data you need. In this video; Joe Barrett demonstrates how to parse XML attributes and their values and loop through attributes and extract needed data.
-
Consuming Data – Selecting from a Database
C# Programming enables you to select data from a database using Language Integrated Query (LINQ); which models data types as classes or properties. In this video; Joe Barrett uses the ADO.Net Entity Data Model to demonstrate how provider-data types are abstracted and defined as entities and functions.
-
Consuming Data – Selecting with Anonymous Types
C# Programming enables you to use anonymous types in a Select statement to define properties and extract data from a query's object entities. In this video; Joe Barrett explains the properties and syntax of anonymous types; and compiles a query.
-
Consuming Data – Stored Procedures in a Model
In C# Programming; you can use stored procedures in a data model either by themselves or as an easy way to insert; update; or delete an entity. In this video; Joe Barrett explains how to add a stored procedure to a model.
-
Consuming Data – Updating Through a Model
C# Programming enables you to connect to and update single database records through the Entity Framework model. In this video; Joe Barrett compiles a query using an anonymous type; the SingleOrDefault method; the Console.ReadLine method; and the SaveChanges method.
-
Consuming Data – Using LINQ Operators
In C# Programming; you can use Language Integrated Query; or LINQ; operators to find particular pieces of information from arrays. In this video; Joe Barrett demonstrates how to use LINQ operators and methods such as length; joins; orderby; and aggregate functions.
-
Consuming Data – Webservice Data
In C# Programming; you can convert XML data received from a web service into other usable formats. In this video; Joe Barrett demonstrates how to translate web service data to other formats.
-
Consuming Data – XML Serialization
In C# Programming; you can perform XML serialization to obtain XML data from an object. In this video; Joe Barrett demonstrates the process of using XML Serialization to create objects from XML data and vice versa.
-
Consuming Types – Class Based on IDisposable
In C# Programming; you can release unmanaged resources by implementing the IDisposable interface. In this video; Joe Barrett demonstrates how to work with the IDisposable interface and outlines the steps required to create and implement this interface.
-
Consuming Types – Class Based on IEnumerable
In C# Programming; you can implement the IEnumerable interface to enable your classes to respond to the "foreach" loop. In this video; Joe Barrett explains how to implement the IEnumerable interface.
-
Consuming Types – Converting Ref Types
In C# Programming; reference type variables are flexible pointers that lead to real data. In this video; Joe Barrett discusses how to work with reference type variables in the .NET framework.
-
Consuming Types – Creating and Using Classes
Class is a type that is foundational to object-oriented programming in C#. In C# Programming; you can create templates and use it as many times as you want. In this video; Joe Barrett explains how to create a custom class template used to group together variables.
-
Consuming Types – Creating and Using Enums
In C# Programming; you can use enums to allow you to assign symbolic names to integral values and make your code more readable. In this video; Joe Barrett demonstrates how to use enums.
-
Consuming Types – Creating Structure
In C# Programming; you can use structs; which are value types; to encapsulate small groups of related variables. In this video; Joe Barrett demonstrates how to create structs.
-
Consuming Types – Extension Methods
C# Programming enables you; using extension methods; to add functionality to a class without extending it through inheritance. In this video; Joe Barrett demonstrates how to create an extension method.
-
Consuming Types – Implementing IComparable
In C# Programming; you can enable collection sorting by implementing the IComparable interface. In this video; Joe Barrett demonstrates how to implement the IComparable interface.
-
Consuming Types – Inheritance
In C# Programming; you can build inheritance into classes that you create to maximize code reuse and maintainability. In this video; Joe Barrett demonstrates how to use inheritance.
-
Consuming Types – Reflection
In C# Programming; you can use the System.Reflection namespace to find out information about members; properties; methods; and events of a specific type. In this video; Joe Barrett explains how to use System.Reflection namespace.
-
Consuming Types – Using CodeDOM
In C# Programming; you can generate code at runtime with other code by using CodeDOM. In this video; Joe Barrett demonstrates the use of CodeDOM.
-
Consuming Types – Using Constructors
In C# Programming; constructors are methods inside a class that are executed automatically whenever the class is instantiated. In this video; Joe Barrett demonstrates how constructors are created and used in a .NET application.
-
Consuming Types – Using Generic Methods
In C# Programming; you may have to deal with multiple overloads that are caused by creating a method that accepts different parameter types. In this video; Joe Barrett uses Microsoft Visual Studio 2012 to create a Generic Method to solve this problem.
-
Consuming Types – Using IConvertible
In C# Programming; the .NET interface IConvertible provides you with more control over the ways your object converts to another data type. In this video; Joe Barrett demonstrates how to implement IConvertible in Visual Studio.
-
Consuming Types – Using IFormattable
In C# Programming; you can use the IFormattable interface to provide users with easy-to-use data formatting options. In this video; Joe Barrett explains how to use the IFormattable interface.
-
Consuming Types – Using Optional and Named Parameters
In C#; you can use optional and named parameters to enable you to create flexibility in calling methods. In this video; Joe Barrett demonstrates how to use optional and named parameters.
-
Consuming Types – Using the Dynamic Runtime
In C# Programming; you can interoperate with other languages that don't use type creation by using the C# language. In this video; Joe Barrett demonstrates how to use the dynamic runtime.
-
Consuming Types – Converting Value Types
In C# Programming; values can be expressed as more than one type. In this video; Joe Barrett explains how to convert value data types.
-
Debugging and Security – Basic Encryption
In C# Programming; you can implement encryption using classes. In this video; Joe Barrett demonstrates how to use a basic symmetric encryption algorithm.
-
Debugging and Security – Encrypting Streams
In C# Programming; Streams are used extensively. You can use the CryptoStream object to encrypt and decrypt other Streams. In this video; Joe Barrett demonstrates how to chain the CryptoStream object to other objects that implement Streams as part of the encryption and decryption process.
-
Debugging and Security – Global Assembly Cache
C# Programming enables you to install and deploy strong-named components into and from the Global Assembly Cache (GAC) using drag and drop; the gacutil command-line tool; and the Windows Installer. In this video; Joe Barrett uses gacutil to deploy an assembly into the development environment before using the Windows Installer to create and install a production-environment MSI.
-
Debugging and Security – Hashing
In C# Programming; you can use hashing to verify data integrity. In this video; Joe Barrett demonstrates how to add a hash to encrypt data and verify whether or not it's been modified.
-
Debugging and Security – Managing Certificates
In C# Programming; you can use X509 certificates to verify the identity between the server and the client. In this video; Joe Barrett demonstrates how to view certificates and attach certificates to a request.
-
Debugging and Security – Strongnaming
C# Programming enables you to strong name assemblies for storage in the .Net Framework’s Global Assembly Cache(GAC) using the Developer Command Prompt for VS2012. In this video; Joe Barrett uses the sn tool and various switches to generate a unique key pair which he then assigns to an assembly.
-
Debugging and Security – Symmetric vs. Asymmetric
In C# Programming; you can use symmetric and asymmetric algorithms to encrypt and secure data. In this video; Joe Barrett demonstrates the differences between symmetric and asymmetric encryption.
-
Debugging and Security – Using Regex
In C# Programming; you can use the Rich Regular Expression; or Regex; syntax for pattern matching. In this video; Joe Barrett demonstrates how to use the Regex class with the Match method.
-
Debugging and Security – Validation Connection Streams
In C# Programming; you can use SQL connection class and SqlConnectionStringBuilder class to get secure database connections. In this video; Joe Barrett demonstrates how to validate connection strings.
-
Diagnostic and Debugging – Compiler Directives
C# Programming allows you to use the compiler directives in the C# programming language to configure in Debug and Build modes. In this video; Joe Barrett discusses the various ways in which the DEBUG constant can be defined.
-
Diagnostic and Debugging – Creating Performance Counters
In C# Programming; you can use the performance counters to give metrics to your performance applet. In this video; Joe Barrett demonstrates how to create performance counters.
-
Diagnostic and Debugging – Tracing
C# Programming comes with diagnostic and debugging tracing functionality. In this video; Joe Barrett; explains how to troubleshoot your application after deployment by using tracing functionality.
-
Diagnostic and Debugging – Working with Trace Switches
C# Programming allows you to configure trace switches for diagnostics and debugging. In this video; explores how you can identify application problems by using trace switches.
-
Diagnostic and Debugging – Writing to Event Logs
In C# Programming; event logging provides you with a way of recording important events in the applications that you can view in the Event Viewer. In this video; Joe Barrett demonstrates how to write to event logs.
-
Enforcing Encapsulation – Auto-Implemented Properties
In C# Programming; you can use auto-implemented properties as a concise way to implement properties that don't require controlled or moderated access. In this video; Joe Barrett demonstrates how to use auto-implemented properties.
-
Enforcing Encapsulation – Defining Properties
By defining properties in C# Programming; you can enforce encapsulation to preserve the integrity of an object's state data and set valid values for the variables in a class. In this video; Joe Barrett demonstrates how to use property procedures.
-
Enforcing Encapsulation – Explicit Interface Implementation
n C# Programming; when your class implements more than one interface; you should explicitly implement interface members to avoid name clashes and help enforce encapsulation in your applications. In this video; Joe Barrett highlights two interfaces that use the same methods before demonstrating how to use explicit interface implementation to avoid any conflicts.
-
Implementing Events and Callbacks – Anonymous Methods
In C# Programming; you can use delegates to call anonymous methods; which are more flexible than lambda expressions; are defined on the line; and are attached to the delegate. In this video; Joe Barrett compiles an anonymous method and uses it with an already defined method and invocation; to generate the results he needs.
-
Implementing Events and Callbacks – Creating and Using Delegate Types
C# Programming allows you to create delegates to call methods. In this video; Joe Barrett demonstrates how to create and use a delegate.
-
Implementing Events and Callbacks– Lambda Extensions
In C# Programming; you can use delegates containing lambda expressions; or parameters and variables; to invoke a single undefined method from an invocation list at runtime. In this video; Joe Barrett demonstrates the use of lambda expressions; noting their substitution for concrete methods and the syntax used by the compiler when according them an anonymous name.
-
Implementing Events and Callbacks – Subscribing to Events
In C# Programming; consuming classes can subscribe to C# events declared by delegates. In this video; Joe Barrett demonstrates how to raise the TransactionFailed event to allow the subscribers to handle the event.
-
Implementing Events and Callbacks – Using Built-In Delegate Types
In C# Programming; you can use delegates in C# to call a method of a certain signature at runtime. The delegates can be custom or built-in types. In this video; Joe Barrett demonstrates how to use built-in delegates within the .NET framework.
-
Implementing Exception – Handling Creating Custom Exception Classes
In C# Programming; you can create your own custom exceptions in addition to the exceptions provided by the .NET framework. In this video; Joe Barrett explains how to create a custom exception class.
-
Implementing Exception – Handling Exceptions with Multiple Catch Blocks
In C# Programming; you can use multiple catch blocks to handle exceptions. In this video; Joe Barrett explains how to implement multiple catch blocks.
-
Implementing Exception – Handling Finally Block
In C# Programming; you can use the finally block at the end of a try-catch pattern to check whether or not an exception occurs. In this video; Joe Barrett explains how to use the finally block.
-
Implementing Multithreading – Continuation Tasks
In C# Programming; you can implement continuation tasks in the order in which tasks should be completed. In this video; Joe Barrett demonstrates how to create task threads in which each task begins based on the completion of the previous task.
-
Implementing Multithreading – Using Parallel For Statement
C# Programming allows you to use the Parallel For statement to implement multithreading. In this video; Joe Barrett; explores how you can take advantage of the asynchronous functionality provided in C # to use the Parallel For statement to schedule work on multiple threads.
-
Implementing Multithreading – Using Parallel LINQ
C# Programming allows you to use Parallel LINQ to obtain data in a more efficient way. In this video; Joe Barrett uses demonstrates the uses of Parallel LINQ.
-
Implementing Multithreading – Using Tasks
In C# Programming; you can use tasks to schedule work on different threads. In this video; Joe Barrett demonstrates how to use the task object to schedule and start tasks.
-
Implementing Program – Flow the Switch Statements
The switch statement in C# Programming is a control statement that allows you to have multiple selections based on a constant value of a variable and determines the control flow when executing a program. In this video; Joe Barrett demonstrates the use of switch statements.
-
Implementing Program – For and ForEach Statements
Looping is a basic operation in any programming language including C# Programming. The for and foreach statements in C# Programming are iteration statements that you can use to execute a statement a number of times; thereby creating loops when implementing program flow. In this video; Joe Barrett demonstrates how to use the for and foreach statements.
-
Implementing Program – Operators and Eval Expressions
In C# Programming; you can use operators to specify the functions the variables should perform in an evaluating expression. In this video; Joe Barrett demonstrates how to use operators and evaluating expressions.
-
IO Operations – Asynchronous IO
C# Programming allows you to implement and leverage parallelism through asynchronous functionality and create responsive; robust .NET applications using the async and await keywords. In this video; Joe Barrett demonstrates how the await keyword; applied to the result of the async keyword; prevents performance bottlenecks thereby enhancing an application's responsiveness.
-
IO Operations – Network Credentials
In C# Programming; the NetworkCredential object can be used to pass user credentials securely. In this video; Joe Barrett explains how to use the SecureString class in conjunction with the NetworkCredential object to pass user credentials safely.
-
IO Operations – The GZipStream
C# Programming enables you to perform lossless file compression and decompression while detecting any possible data corruption by utilizing the gzip data format through the GZipStream class. In this video; Joe Barrett introduces the GZipStream class and demonstrates how it is used to compress and decompress GZipStream objects.
-
IO Operations – Using Filestreams
C# Programming enables you to read from; write to; open; and close files on a file system using the FileStream; stream-based class. In this video; Joe Barrett explains the syntax of the FileStream constructor before demonstrating how to create a byte array implementing FileStream to stream in file data and then write the data to a new file.
-
IO Operations – System.NET
In C# Programming; the System.NET namespace helps you to easily access files and use FTP and HTTP effectively. In this video; Joe Barrett explains how to use file request to read from and write to a file.
-
Managing Object – Lifetime Garbage Collection
C# Programming includes the garbage collection functionality in .NET which automatically disposes of objects. In this video; Joe Barrett explains how to use the garbage collection functionality.
-
Managing Object – Lifetime Managing Unmanaged Resources
C# Programming enables you to use a dispose pattern to impose order on the lifetime of an object that accesses unmanaged resources and is not automatically reclaimed by the garbage collector. In this video; Joe Barrett uses the Dispose method provided by the IDisposable interface to eliminate unmanaged objects in a class.
-
Managing Program Flow – Locking
In C# Programming; you use locking to make sure data can only be accessed by one thread at a time. In this video; Joe Barrett demonstrates how to use the Lock statement; to prevent data from being accessed by multiple threads at a time.
-
Managing Program Flow – Synchronization
The .NET Framework functionality in C# Programming allows you to provide exclusive access to a resource by utilizing synchronization that lets one thread communicate an event to another through signaling. In this video; Joe Barrett demonstrates how to use synchronization events.
-
Managing Program Flow – Thread-Safe Methods
In C# Programming; you can use Interlocked classes for thread safe numeric access. In this video; Joe Barrett discusses thread-safe methods.
-
Managing Program Flow – Throw vs. Rethrow
C# Programming enables you to throw an exception from an area of code where an error has occurred; and rethrow the exception by specifying the exception in the throw statement. In this video; Joe Barrett demonstrates how to use the throw and rethrow exceptions.
-
Manipulating Strings – Basic String Methods
When manipulating strings; or parts of strings in C# Programming; there are some basic string methods that you can use. In this video; Joe Barrett highlights some of the basic methods used to manipulate strings.
-
Manipulating Strings – Culture Specific String Manipulation
C# Programming enables you; through the .NET Framework and the CultureInfo format-provider object; to simultaneously format and render culture-specific dates and numbers. In this video; Joe Barrett uses C# Programming to illustrate the capabilities of IFormatProvider geographic and language parameters defined by the string.Format method and used by the CultureInfo object.
-
Manipulating Strings – Searching in Strings
C# Programming's String.Remove method enables you search a string and return a new string from which specified characters have been removed. In this video; Joe Barrett demonstrates how to use String.Remove method and foreach statements to iterate backwards through a character array; resulting in a new string.
-
Manipulating Strings – String Formatting
With C# Programming; you can use multiple methods within the .Net Framework to format different data types and render them as strings. In this video; Joe Barrett demonstrates how to use string formatting to format string to a specific type; using the example of dates and currency to show when re-formatting may be required.
-
Manipulating Strings – StringBuilder Class
In C# Programming; you can use the StringBuider object to handle string variables. In this video; Joe Barrett explains how to use the StringBuilder object.
-
Manipulating Strings – StringReader and Writer
In C# Programming; you can use the StringReader and StringWriter objects to handle large blocks of text. In this video; Joe Barrett explains how to use the StringReader and StringWriter objects.
-
Storing and Retrieving – Implementing Dot Net Interfaces
In C# Programming; you use classes to perform specialized tasks. In this video; Joe Barrett uses Microsoft Visual Studio 2012 to implement the IComparable interface and CompareTo method in order to display items in a specific order.
-
Storing and Retrieving – Initializing Adding and Removing
C# Programming enables you to add complete collections to a List object using the AddRange method. In this video; Joe Barrett uses the AddRange method to add an ArrayList to a List object; and demonstrates methods you can use to expand or reduce the List object’s capacity by specified increments; as items are added or removed.
-
Storing and Retrieving – Type vs Non-Type Collections
In C# Programming; you can use collections that accept objects and collections that accept other types. In this video; Joe Barrett discusses the advantages of typed vs non-typed collections.
-
Storing and Retrieving – Using Dictionary Object
In C# Programming; you can use dictionary objects to control the type of data for a key and the values within a collection. In this video; Joe Barrett demonstrates how to store and retrieve data using dictionary objects.
-
Storing and Retrieving – Using List Object
In C# Programming; you can use the List object to provide indexed access to a group of items; similar to an array; but with the ability to expand automatically like a collection. In this video; Joe Barrett demonstrates how to configure a List object.
-
Storing and Retrieving – Using Queue Object
In C# Programming; you can use queue objects if you prefer easy-to-use; first-in-first-out collection types. In this video; Joe Barrett demonstrates how to use queue objects.
-
Consuming Types – Reflection
In C# Programming; you can add an existing .NET attribute class to your code as well as create your own attribute by defining an attribute class. In this video; Joe Barrett demonstrates how to create custom attribute classes.