Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Beginning C# 7 Hands-On ??? Advanced Language Features
  • Table Of Contents Toc
  • Feedback & Rating feedback
Beginning C# 7 Hands-On ??? Advanced Language Features

Beginning C# 7 Hands-On ??? Advanced Language Features

By : Tom Owsiak
close
close
Beginning C# 7 Hands-On ??? Advanced Language Features

Beginning C# 7 Hands-On ??? Advanced Language Features

By: Tom Owsiak

Overview of this book

Beginning C# 7 Hands-On – Advanced Language Features assumes that you’ve mastered the basic elements of the C# language and that you're now ready to learn the more advanced C# language and syntax, line by line, in a working Visual Studio environment. You'll learn how to code advanced C# language topics including generics, lambda expressions, and anonymous methods. You'll learn to use query syntax to construct queries and deploy queries that perform aggregation functions. Work with C# and SQL Server 2017 to perform complex joins and stored procedures. Explore advanced file access methods, and see how to serialize and deserialize objects – all by writing working lines of code that you can run within Visual Studio. This book is designed for beginner C# developers who have mastered the basics now, and anyone who needs a fast reference to using advanced C# language features in practical coding examples. You'll also take a look at C# through web programming with web forms. By the time you’ve finished this book, you’ll know all the critical advanced elements of the C# language and how to program everything from C# generics to XML, LINQ, and your first full MVC web applications. These are the advanced building blocks that you can then combine to exploit the full power of the C# programming language, line by line.
Table of Contents (30 chapters)
close
close

Creating a generics class

Bring up a project, and go to Solution Explorer; right-click, select Add, and click on Class. Name the class GenericsClass; a simple generics class. Then, click on OK. When the Visual Studio message comes up, click on Yes.

For our purposes, you don't need any of the using System lines at the top, nor any of the comments underneath, so delete them. Your initial screen should look like Figure 1.1.1:

Figure 1.1.1: The initial GenericsClass.cs screen

Working with different data types

Now, let's put a <T> symbol after where it says public class GenericsClass, as follows:

public class GenericsClass<T>

This means that this single class can work equally well with several different data types. Next, enter the following beneath the open curly brace under the preceding line:

private T[] vals;

Enter the following comment directly above this line:

//generic array instance variable

In other words, this will operate equally well on doubles, decimals, integers, and so on.

Making parameters that are generic

Now, in the following line, enter the following:

public GenericsClass(T[] input)

As you can see, you can also make parameters that are generic like this one. This is a parameter, input is the name of it, and the type is T. So, it's a generic array.

Next, enter the following between a set of curly braces beneath the preceding line:

vals = input;

Displaying the values

Of course, you should be able to display these values. so, enter the following line beneath the closed curly brace under the vals = input; line:

public string DisplayValues()

To display these values, you'll enter the following between a set of curly braces beneath the preceding line.

First, put in a string, as follows:

string str = null;

Next, declare the string and initialize the value to null.

Then, enter the following directly below this line:

foreach ( T t in vals)

As you can see, the foreach loop here is going to operate. The T object will be a different data type, depending on how we choose to make the object. The t variable, of course, is each specific value inside the vals array.

Next, you will enter the following between a set of curly braces beneath the preceding line:

str += $"<br>Value={t}";

Remember, we use the += operator to accumulate and <br> to push down to the next line. To get the value, of course, we will put in the t variable.

At the end, you want to return this, so you will type the following beneath the closed curly brace under the preceding line:

return str;

That's it. The final version of the GenericsClass.cs file for this chapter, including comments, is shown in the following code block:

 //<T> means this class can operate on many different data types
public class GenericsClass<T>
{
//generic array instance variable
private T[] vals;//array of T inputs
public GenericsClass(T[] input)
{
//set value of instance variable
vals = input;

}
public string DisplayValues()
{
string str = null;//create string to build up display
foreach(T t in vals)
{
//actually accumulate stuff to be displayed
str +=
$"<br>Value={t}";
}
//return string of outputs to calling code
return str;
}
}

Notice that we have a single block of code; this will now operate on integers, doubles, and so on.

Visually different images
CONTINUE READING
83
Tech Concepts
36
Programming languages
73
Tech Tools
Icon Unlimited access to the largest independent learning library in tech of over 8,000 expert-authored tech books and videos.
Icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Icon 50+ new titles added per month and exclusive early access to books as they are being written.
Beginning C# 7 Hands-On ??? Advanced Language Features
notes
bookmark Notes and Bookmarks search Search in title playlist Add to playlist download Download options font-size Font size

Change the font size

margin-width Margin width

Change margin width

day-mode Day/Sepia/Night Modes

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY

Submit Your Feedback

Modal Close icon
Modal Close icon
Modal Close icon