How to Get the First and Last Letter of a String in C#.NET

Recently, while working on a C#.Net application, I got a requirement to get the first and last characters of a string in C#.net. In this article, we will explore how to achieve this task in C#.NET with practical examples. After this tutorial, you will get to know how to get the first and last character of string c#.

Accessing Characters in a String

Before we dive into how to get the first and last letter of a string in C#.Net, it’s essential to understand how we can access individual characters within a string in C#.

A string in C#.net can be indexed like an array. That is, each character in the string can be accessed using an index. The index is zero-based, meaning the first character is at index 0, the second character is at index 1, and so on.

Get First and Last Letter of a String in C#.NET

The First Letter

Getting the first letter of a string is straightforward because the first letter is always at index 0. We can access it using square brackets [] with the index number. Below is a simple example:

string myString = "Hello, World!";
char firstLetter = myString[0];
Console.WriteLine(firstLetter);  // Outputs: H

In this example, myString[0] retrieves the first character of the string.

The Last Letter

Getting the last letter of a string involves using the string’s length to find the position of the last character. The Length property of a string gives the number of characters in the string. However, since indexing is zero-based, the last character’s index is Length - 1. Here is an example:

string myString = "Hello, World!";
char lastLetter = myString[myString.Length - 1];
Console.WriteLine(lastLetter);  // Outputs: !

In this example, myString[myString.Length - 1] retrieves the last character of the string.

Complete example to Get the First and Last Letter of a String in C#.Net

Here is a complete example of a small console application that gets the first and last letter of a string in C#.NET.

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("Please enter a string:");
        string myString = Console.ReadLine();

        if (!string.IsNullOrEmpty(myString))
        {
            char firstLetter = myString[0];
            char lastLetter = myString[myString.Length - 1];

            Console.WriteLine($"First Letter: {firstLetter}, Last Letter: {lastLetter}");
        }
        else
        {
            Console.WriteLine("The string is empty. Please enter a valid string.");
        }
    }
}

In this program, the user is asked to enter a string. The program reads the string input by the user using Console.ReadLine(). It then checks if the string is not empty using the string.IsNullOrEmpty() method.

If the string is not empty, it accesses and prints the first and last characters of the string. If the string is empty, it outputs a message informing the user that the string is empty.

You can see the output below:

Get First and Last Letter of a String in C#.NET
Get First and Last Letter of a String in C#.NET

Handling Edge Cases

What if the string is empty? In this case, trying to access myString[0] or myString[myString.Length - 1] will throw an IndexOutOfRangeException. To avoid this, we should always check that the string is not empty before trying to access its characters:

string myString = "";

if (!string.IsNullOrEmpty(myString))
{
    char firstLetter = myString[0];
    char lastLetter = myString[myString.Length - 1];
    Console.WriteLine($"First Letter: {firstLetter}, Last Letter: {lastLetter}");
}
else
{
    Console.WriteLine("String is empty.");
}

In this example, string.IsNullOrEmpty(myString) checks whether the string is null or empty before trying to access its characters.

Conclusion

In C#.NET, accessing the first and last letters of a string is a simple task. It relies on the understanding that strings are indexed similarly to arrays and that these indices are zero-based. Always remember to handle edge cases where the string might be empty to prevent runtime exceptions. With these concepts in hand, you can now efficiently manipulate and access specific portions of strings in your C#.NET applications. I hope you get an idea of getting first and last character of string c#.

You may also like: