C# String EndsWith() Method
Last Updated :
05 Mar, 2025
In C#, the EndsWith() is a string method used to check whether the ending of the current string instance matches a specified string. If it matches, it returns true; otherwise, it returns false. Using the foreach loop, we can check multiple strings. This method supports overloading by passing different types and numbers of arguments.
Example 1: Basic Usage of EndsWith() Method
C#
// C# program to demonstrate EndsWith() method
using System.Globalization;
using System;
class Geeks
{
public static void Main(string[] args)
{
// Declare and initialize a string
string s = "GeeksforGeeks";
// Check if s ends with "Geeks"
// and print the result
Console.WriteLine(s.EndsWith("Geeks").ToString());
}
}
Explanation: This example checks if the string "GeeksforGeeks" ends with "Geeks" and prints true.
Syntax of String EndsWith() Method
public bool EndsWith(string value);
public bool EndsWith(string value, StringComparison comparisonType);
public bool EndsWith(string value, bool ignoreCase, CultureInfo culture);
Parameters:
- value: The string to compare with the end of the current string.
- comparisonType: A StringComparison value that determines how strings are compared.
- ignoreCase: A bool value indicating whether to ignore case sensitivity.
- culture: A CultureInfo object specifying culture-specific comparison rules.
Return Type:
- It returns true if the given string matches the end of the current string; otherwise, returns false.
Exceptions:
- ArgumentNullException: Thrown if value is null.
- ArgumentException: Thrown if comparisonType is not a valid StringComparison value.
Example 2: Using String.EndsWith(String)
C#
// C# program to check EndsWith()
// with different strings
using System;
public class Geeks
{
static public void Main()
{
// Declare and initialize two strings
string s1 = "Hello Geek";
string s2 = "GeeksforGeeks";
// Check if strings end with
// specific substrings
bool ans1 = s1.EndsWith("Geek");
bool ans2 = s2.EndsWith("Hello");
Console.WriteLine(ans1.ToString());
Console.WriteLine(ans2.ToString());
}
}
Explanation: The example checks whether s1 ends with "Geek" and s2 ends with "Hello", printing true and false accordingly.
Example 3: Removing Closing HTML Tags Using EndsWith()
C#
// C# program to remove closing
// HTML tags using EndsWith()
using System;
public class Geeks
{
static public void Main()
{
// Array of HTML-like strings
string[] s1 = {
"<p> GeekforGeeks Computer Science Portal </p>",
"<h1> GeekforGeeks Sudo Placement </h1>",
"<h2> GeekforGeeks Placement Preparation </h2>",
"<h3> GeekforGeeks Contribute </h3>",
};
// Process and remove closing tags
foreach (var n in s1)
Console.WriteLine(HtmlEndTags(n));
}
private static string HtmlEndTags(string s2)
{
// Boolean flag to track if
// an ending tag is found
bool a = false;
// Check if the string ends with '>'
if (s2.Trim().EndsWith('>'))
{
// Find the last occurrence of "</"
// indicating a closing tag
int end = s2.LastIndexOf("</");
// If found, remove the closing tag
if (end >= 0)
{
a = true;
s2 = s2.Substring(0, end);
}
}
// Recursively remove tags if found
if (a)
s2 = HtmlEndTags(s2);
return s2;
}
}
Output<p> GeekforGeeks Computer Science Portal
<h1> GeekforGeeks Sudo Placement
<h2> GeekforGeeks Placement Preparation
<h3> GeekforGeeks Contribute
Explanation: This example iterates through an array of HTML like strings and removes their closing tags using EndsWith().
Example 4: Using Culture-Sensitive Comparison
C#
// C# program to demonstrate
// EndsWith() with CultureInfo
using System.Threading;
using System.Globalization;
using System;
class Geeks
{
public static void Main(string[] args)
{
// Define a test string
string s = "Geeksforgeeks";
// Case-sensitive comparison with different inputs
bool a = s.EndsWith("Geeks", false, CultureInfo.InvariantCulture);
bool b = s.EndsWith("geeks", false, CultureInfo.InvariantCulture);
bool c = s.EndsWith("GEEKS", false, CultureInfo.InvariantCulture);
bool d = s.EndsWith(" ", false, CultureInfo.InvariantCulture);
bool e = s.EndsWith("Hello", false, CultureInfo.InvariantCulture);
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
Console.WriteLine(d);
Console.WriteLine(e);
}
}
OutputFalse
True
False
False
False
Explanation: This example demonstrates how EndsWith() behaves with case sensitivity and CultureInfo settings.
Example 5: Using Different StringComparison Options
C#
// C# program to demonstrate
// EndsWith() with StringComparison
using System;
class Geeks
{
public static void Main(string[] args)
{
// Declare multiple strings
string s1 = "GeeksforGeeks";
string s2 = "Sudo Placement";
string s3 = "Geeks Article";
// Check if strings end with specific
// substrings using StringComparison
bool a = s1.EndsWith("Geek", StringComparison.CurrentCulture);
bool b = s1.EndsWith("geek", StringComparison.CurrentCulture);
bool c = s2.EndsWith("Placement", StringComparison.CurrentCulture);
bool d = s2.EndsWith("Sudo", StringComparison.CurrentCulture);
bool e = s3.EndsWith("Article", StringComparison.CurrentCulture);
bool f = s3.EndsWith("Geeks", StringComparison.CurrentCulture);
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
Console.WriteLine(d);
Console.WriteLine(e);
Console.WriteLine(f);
}
}
OutputFalse
False
True
False
True
False
Explanation: This example demonstrates different StringComparison options to determine string endings based on culture and case sensitivity.
Important Points:
- EndsWith() checks whether a string ends with a given substring.
- It supports case-sensitive and case-insensitive comparisons.
- It can use CultureInfo for cultural-specific checks.
- It provides multiple overloads to customize comparisons.
- Using EndsWith() properly allows efficient string validation for filtering and text processing.
Similar Reads
C# Tutorial C# (pronounced "C-sharp") is a modern, versatile, object-oriented programming language developed by Microsoft in 2000 that runs on the .NET Framework. Whether you're creating Windows applications, diving into Unity game development, or working on enterprise solutions, C# is one of the top choices fo
4 min read
Introduction to .NET Framework The .NET Framework is a software development framework developed by Microsoft that provides a runtime environment and a set of libraries and tools for building and running applications on Windows operating systems. The .NET framework is primarily used on Windows, while .NET Core (which evolved into
6 min read
C# Interview Questions and Answers C# is the most popular general-purpose programming language and was developed by Microsoft in 2000, renowned for its robustness, flexibility, and extensive application range. It is simple and has an object-oriented programming concept that can be used for creating different types of applications.Her
15+ min read
C# Dictionary Dictionary in C# is a generic collection that stores key-value pairs. The working of Dictionary is quite similar to the non-generic hashtable. The advantage of a Dictionary is, that it is a generic type. A dictionary is defined under System.Collections.Generic namespace. It is dynamic in nature mean
5 min read
C# List Class In C#, the List<T> class represents the list of objects that can be accessed by index. It comes under the System.Collections.Generic namespace. List class can be used to create a collection of different types like integers, strings, etc. List<T> class also provides the methods to search,
7 min read
C# Delegates A delegate is an object which refers to a method or you can say it is a reference type variable that can hold a reference to the methods. It provides a way which tells which method is to be called when an event is triggered. For example, if you click on a Button on a form (Windows Form application),
6 min read
ASP.NET Interview Questions and Answer ASP.NET is a popular framework by Microsoft for building fast and scalable web applications. It allows developers to create dynamic websites, services, and apps, using server-side code and offering a user-friendly experience. Trusted by companies like Microsoft, Dell, and Accenture, ASP.NET is used
15+ min read
C# .NET Framework (Basic Architecture and Component Stack) C# (C-Sharp) is a modern, object-oriented programming language developed by Microsoft in 2000. It is a part of the .NET ecosystem and is widely used for building desktop, web, mobile, cloud, and enterprise applications. This is originally tied to the .NET Framework, C# has evolved to be the primary
6 min read
C# Data Types Data types specify the type of data that a valid C# variable can hold. C# is a strongly typed programming language because in C# each type of data (such as integer, character, float, and so forth) is predefined as part of the programming language and all constants or variables defined for a given pr
7 min read
C# Arrays An array is a group of like-typed variables that are referred to by a common name. And each data item is called an element of the array. The data types of the elements may be any valid data type like char, int, float, etc. and the elements are stored in a contiguous location. Length of the array spe
8 min read