using System; using System.Collections.Generic; using System.Linq; namespace Q180513 { class MainClass { public static void Print(string message, IEnumerable<int> list) { Console.Write (message + " : "); foreach (int num in list) Console.Write (num + " "); Console.WriteLine (); Console.WriteLine (); } // delegate bool DCondition (int x); public static void Main (string[] args) { // Create a list of integers List<int> list = new List<int> () { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; // call where method on it and pass delegate to it in the following ways: // Find odd - Lambda Expression – without curly brackets IEnumerable<int> odd = list.Where (x => x % 2 == 1); Print ("Odd", odd); // Find Even - Lambda Expression – with curly brackets IEnumerable<int> even = list.Where (x => { return x % 2 == 0; }); Print ("Even", even); // Find Prime – Anonymous Method IEnumerable<int> primes = list.Where (delegate(int x) { if (x <= 1) return false; for (int i = 2; i <= x/2; i++) if (x % i == 0) return false; return true; }); Print ("Primes", primes); // Find Prime Another – Lambda Expression IEnumerable<int> primesAnother = list.Where (x => { if (x <= 1) return false; for (int i = 2; i <= x/2; i++) if (x % i == 0) return false; return true; }); Print ("Primes Another", primesAnother); // Elements Greater Than Five – Method Group Conversion Syntax // use method group conversion (assigns a method to a delegate) Func<int,bool> ConditionMore = GreaterThanFive; // Func<T,TResult> is a delegate IEnumerable<int> greaterThanFive = list.Where (ConditionMore); Print ("Greater Than Five", greaterThanFive); // Less than Five – Delegate Object in Where – Method Group Conversion Syntax in Constructor of Object Func<int,bool> ConditionLess = new Func<int,bool>(LessThanFive); IEnumerable<int> lessThanFive = list.Where (ConditionLess); Print ("Less Than Five", lessThanFive); // Find 3k – Delegate Object in Where – Lambda Expression in Constructor of Object Func<int,bool> Condition3k = new Func<int,bool>(x => x % 3 == 0); IEnumerable<int> list3k = list.Where (Condition3k); Print ("3k", list3k); // Find 3k + 1 - Delegate Object in Where – Anonymous Method in Constructor of Object Func<int,bool> Condition3kplus1 = new Func<int,bool>(delegate(int x) { return x % 3 == 1; }); IEnumerable<int> list3kplus1 = list.Where (Condition3kplus1); Print ("3k + 1", list3kplus1); // Find 3k + 2 - Delegate Object in Where – Lambda Expression Assignment Func<int,bool> Condition3kplus2 = x => x % 3 == 2; IEnumerable<int> list3kplus2 = list.Where (Condition3kplus2); Print ("3k + 2", list3kplus2); // Find anything - Delegate Object in Where – Anonymous Method Assignment Func<int,bool> Anything = delegate(int x) { return x != 0; }; IEnumerable<int> anything = list.Where (Anything); Print ("Anything", anything); // Find anything - Delegate Object in Where – Method Group Conversion Assignment Func<int,bool> AnythingAnother = AnythingMethod; IEnumerable<int> anythingAnother = list.Where (AnythingAnother); Print ("Anything", anythingAnother); } public static bool GreaterThanFive (int x) { return x > 5; } public static bool LessThanFive (int x) { return x < 5; } public static bool AnythingMethod (int x) { return x != 0; } } }
Write, Run & Share C# code online using OneCompiler's C# online compiler for free. It's one of the robust, feature-rich online compilers for C# language, running on the latest version 8.0. Getting started with the OneCompiler's C# compiler is simple and pretty fast. The editor shows sample boilerplate code when you choose language as C#
and start coding.
OneCompiler's C# online compiler supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample program which takes name as input and print your name with hello.
using System;
namespace Sample
{
class Test
{
public static void Main(string[] args)
{
string name;
name = Console.ReadLine();
Console.WriteLine("Hello {0} ", name);
}
}
}
C# is a general purpose object-oriented programming language by Microsoft. Though initially it was developed as part of .net but later it was approved by ECMA and ISO standards.
You can use C# to create variety of applications, like web, windows, mobile, console applications and much more using Visual studio.
Data Type | Description | Range | size |
---|---|---|---|
int | To store integers | -2,147,483,648 to 2,147,483,647 | 4 bytes |
double | to store large floating point numbers with decimals | can store 15 decimal digits | 8 bytes |
float | to store floating point numbers with decimals | can store upto 7 decimal digits | 4 bytes |
char | to store single characters | - | 2 bytes |
string | to stores text | - | 2 bytes per character |
bool | to stores either true or false | - | 1 bit |
datatype variable-name = value;
When ever you want to perform a set of operations based on a condition or set of few conditions IF-ELSE is used.
if(conditional-expression) {
// code
}
else {
// code
}
You can also use if-else for nested Ifs and If-Else-If ladder when multiple conditions are to be performed on a single variable.
Switch is an alternative to If-Else-If ladder.
switch(conditional-expression) {
case value1:
// code
break; // optional
case value2:
// code
break; // optional
...
default:
// code to be executed when all the above cases are not matched;
}
For loop is used to iterate a set of statements based on a condition.
for(Initialization; Condition; Increment/decrement) {
// code
}
While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.
while(condition) {
// code
}
Do-while is also used to iterate a set of statements based on a condition. It is mostly used when you need to execute the statements atleast once.
do {
// code
} while (condition);
Array is a collection of similar data which is stored in continuous memory addresses. Array values can be fetched using index. Index starts from 0 to size-1.
data-type[] array-name;
Method is a set of statements which gets executed only when they are called. Call the method name in the main function to execute the method.
static void method-name()
{
// code to be executed
}