As already familiar with C# pronounced as C Sharp programming language, we would directly understand about Swapping in C#. The word Swapping gives us the same meaning as the word in the English dictionary. It is all about the interchanging of values. Let’s get into how we can do this technique using C#.
Swapping 2 Numbers
In the interchanging of values between two different variables, we can do it in 2 ways. The first is by using a third variable also known as a temporary variable and the second method is by without using any other variable.
Let’s check below, on how we can do by using a third variable.
Code:
using System; class First { static void Main() { int a=75,b=84,t; t=a; a=b; b=t; Console.WriteLine("Values after swapping:"); Console.WriteLine("a is :"+a); Console.WriteLine("b is :"+b); } }
In the above simple program, we have taken two integer values and swapped those values using a 3rd temporary variable.
Output:
- Now let us see, How we can take the values of the variables through user input.
Code:
using System; class First { static void Main() { string a,b; int temp,c,d; Console.Write("Enter value for a :"); a = Console.ReadLine(); c = Convert.ToInt32(a); Console.WriteLine("A's value is {0}", c); Console.Write("Enter value for b : "); b = Console.ReadLine(); d = Convert.ToInt32(b); Console.WriteLine("B's value is {0}", d); temp=c; c=d; d=temp; Console.WriteLine("Values after swapping are:"); Console.WriteLine("a is : "+c); Console.WriteLine("b is : "+d); } }
Here, we have used the ReadLine method to read the user input values. And then we converted that value to an integer, else it would read it as ASCII values.
Output:
Try by removing the ToInt32 function and check how the program acts.
- Now let us see swapping of two values through the second method without using a third variable:
Code:
using System; class First { static void Main() { int a=85,b=58; a=a+b; b=a-b; a=a-b; Console.WriteLine("Values after swapping :"); Console.WriteLine("a is "+a); Console.WriteLine("b is "+b); } }
Output:
In the same way as above, as an exercise, can you try swapping two variables without using the third variable using user inputted values?
Swapping 3 Numbers
- After the successful execution of swapping of 2 numbers, let us now move on with swapping of 3 numbers.
Code:
using System; class First { static void Main() { int a=4,b=5,c=6; //swapping a=a+b+c; Console.WriteLine("After First step A value is "+a); b=a-(b+c); Console.WriteLine("After Second step B value is "+b); c=a-(b+c); Console.WriteLine("After Third step C value is "+c); a=a-(b+c); Console.WriteLine("After Fourth step A value is "+a); Console.WriteLine("Values after swapping are:"); Console.WriteLine("a is "+a); Console.WriteLine("b is "+b); Console.WriteLine("c is "+c); } }
As we already got to know the technique on how to swap numbers without using a third variable, we have used the same method in swapping of 3 numbers. For making, it clear, we have kept the console output statements after each step and took small values for the variables, so that we can understand actual mathematical calculations that are being processed more easily.
Output:
- Now, should we try using the user inputted values?
Code:
using System; clas1s First { static void Main() { string a,b,c; int x,y,z; Console.Write("Enter value for x :"); a = Console.ReadLine(); x = Convert.ToInt32(a); Console.WriteLine("X's value is {0}", x); Console.Write("Enter value for y : "); b = Console.ReadLine(); y = Convert.ToInt32(b); Console.WriteLine("Y's value is {0}", y); Console.Write("Enter value for z : "); c = Console.ReadLine(); z = Convert.ToInt32(c); Console.WriteLine("Z's value is {0}", z); x=x+y+z; Console.WriteLine("After Fourth step X value is "+x); y=x-(y+z); Console.WriteLine("After Second step Y value is "+y); z=x-(y+z); Console.WriteLine("After Third step Z value is "+z); x=x-(y+z); Console.WriteLine("After Fourth step X value is "+x); Console.WriteLine("Values after swapping are:"); Console.WriteLine("X is : "+x); Console.WriteLine("Y is : "+y); Console.WriteLine("Z is : "+z); } }
One thing we can observe here is, logic is always the same. We are just taking the dynamic values instead of hardcoded values for swapping.
Output:
As you have checked, the process of swapping is happening as:
- The x value is given to Y
- The y value is given to Z
- The z value is given to X
Perfect right? So, can we try in any other way of assigning the values? Of course, Yes.
- Quite very simple, we just need to assign Y and Z values one after the other or Y value to take the sum and again the ordering of elements can be changed. Let us see below.
Code:
width="638">using System; class First { static void Main() { string a,b,c; int x,y,z; Console.Write("Enter value for x :"); a = Console.ReadLine(); x = Convert.ToInt32(a); Console.WriteLine("X's value is {0}", x); Console.Write("Enter value for y : "); b = Console.ReadLine(); y = Convert.ToInt32(b); Console.WriteLine("Y's value is {0}", y); Console.Write("Enter value for z : "); c = Console.ReadLine(); z = Convert.ToInt32(c); Console.WriteLine("Z's value is {0}", z); x=x+y+z; Console.WriteLine("After Fourth step X value is "+x); z=x-(y+z); Console.WriteLine("After Second step Z value is "+z); y=x-(y+z); Console.WriteLine("After Third step Y value is "+y); x=x-(y+z); Console.WriteLine("After Fourth step X value is "+x); Console.WriteLine("Values after swapping are:"); Console.WriteLine("X is : "+x); Console.WriteLine("Y is : "+y); Console.WriteLine("Z is : "+z); } }
The only difference between the above programs is the highlighted part.
Output:
As noticed above, the output of swapping has changed to:
- The x value is assigned to Z
- The y value is assigned to X
- The z value is assigned to Y
We can try swapping three numbers in other different ways. So, as an exercise can you try swapping 3 variables using a fourth temporary variable?
Conclusion- Swapping in C#
Here, we have successfully made different swapping techniques using C# programming language for both the two variables and three variables. Have fun learning C#.
The above is the detailed content of Swapping in C#. For more information, please follow other related articles on the PHP Chinese website!

C# and .NET provide powerful features and an efficient development environment. 1) C# is a modern, object-oriented programming language that combines the power of C and the simplicity of Java. 2) The .NET framework is a platform for building and running applications, supporting multiple programming languages. 3) Classes and objects in C# are the core of object-oriented programming. Classes define data and behaviors, and objects are instances of classes. 4) The garbage collection mechanism of .NET automatically manages memory to simplify the work of developers. 5) C# and .NET provide powerful file operation functions, supporting synchronous and asynchronous programming. 6) Common errors can be solved through debugger, logging and exception handling. 7) Performance optimization and best practices include using StringBuild

.NETFramework is a cross-language, cross-platform development platform that provides a consistent programming model and a powerful runtime environment. 1) It consists of CLR and FCL, which manages memory and threads, and FCL provides pre-built functions. 2) Examples of usage include reading files and LINQ queries. 3) Common errors involve unhandled exceptions and memory leaks, and need to be resolved using debugging tools. 4) Performance optimization can be achieved through asynchronous programming and caching, and maintaining code readability and maintainability is the key.

Reasons for C#.NET to remain lasting attractive include its excellent performance, rich ecosystem, strong community support and cross-platform development capabilities. 1) Excellent performance and is suitable for enterprise-level application and game development; 2) The .NET framework provides a wide range of class libraries and tools to support a variety of development fields; 3) It has an active developer community and rich learning resources; 4) .NETCore realizes cross-platform development and expands application scenarios.

Design patterns in C#.NET include Singleton patterns and dependency injection. 1.Singleton mode ensures that there is only one instance of the class, which is suitable for scenarios where global access points are required, but attention should be paid to thread safety and abuse issues. 2. Dependency injection improves code flexibility and testability by injecting dependencies. It is often used for constructor injection, but it is necessary to avoid excessive use to increase complexity.

C#.NET is widely used in the modern world in the fields of game development, financial services, the Internet of Things and cloud computing. 1) In game development, use C# to program through the Unity engine. 2) In the field of financial services, C#.NET is used to develop high-performance trading systems and data analysis tools. 3) In terms of IoT and cloud computing, C#.NET provides support through Azure services to develop device control logic and data processing.

.NETFrameworkisWindows-centric,while.NETCore/5/6supportscross-platformdevelopment.1).NETFramework,since2002,isidealforWindowsapplicationsbutlimitedincross-platformcapabilities.2).NETCore,from2016,anditsevolutions(.NET5/6)offerbetterperformance,cross-

The C#.NET developer community provides rich resources and support, including: 1. Microsoft's official documents, 2. Community forums such as StackOverflow and Reddit, and 3. Open source projects on GitHub. These resources help developers improve their programming skills from basic learning to advanced applications.

The advantages of C#.NET include: 1) Language features, such as asynchronous programming simplifies development; 2) Performance and reliability, improving efficiency through JIT compilation and garbage collection mechanisms; 3) Cross-platform support, .NETCore expands application scenarios; 4) A wide range of practical applications, with outstanding performance from the Web to desktop and game development.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Atom editor mac version download
The most popular open source editor

SublimeText3 Chinese version
Chinese version, very easy to use

WebStorm Mac version
Useful JavaScript development tools

Dreamweaver Mac version
Visual web development tools
