C# func code example
Example 1: How to make a function in C#
public void SayHello(string name)
{
Console.WriteLine("Hello")
}
Console.WriteLine("What is your name?")
string name = Console.ReadLine() ;
SayHello(Adam)
Example 2: c# functions
/* Answer to: "c# functions" */
/*
A function has the following syntax:
<modifiers> <return-type> method-name(parameter-list)
You can use the following modifiers with a local function:
- async
- unsafe
- static (in C# 8.0 and later). A static local function can't capture local
variables or instance state.
- extern (in C# 9.0 and later). An external local function must be static.
There's an example below:
*/
using System;
public class Program
{
public static void Main()
{
Console.WriteLine(square(4)); // Returns '16'
Console.WriteLine(cube(4)); // Returns '64'
}
public static int square(int n)
{
return n * n;
}
public static int cube(int n)
{
return n * n * n;
}
}
Example 3: c# function
public void SayHello()
{
Console.WriteLine("Hello") ;
}
//as basic as it gets
//for a function
Example 4: c# funtion
public int AddNumbers(int number1, int number2){ int result = number1 + number2; if(result > 10) { return result; } return 0;}
Example 5: C# func
//Func is a invokeable container for Mehod or function method
//that returns something. They can accept inputs based on the generals
//that you template on and reserve the last general template for the return.
//If you do not need a return or wish to return nothing check out the Action Class
//example:
Func<string/*Or some other type to return*/> YourFuncProperty
= new Func(()=>{/*do something*/ return "or return what you want";});
//or
Func<string/*Or some other type to return*/> YourFuncProperty
= ()=>{/*do something*/return "or return what you want";};
//for a paramiterized func
Func<int
/*Or some other types followed by others optional comma seperated*/,
string/*Or some other type to return last*/> YourParamitarizedFuncProperty =
(x/*Each Param will be to the comma seperated types*/)=>
{/*do some with the inputs*/return $"you entered a {x} or return what you want";};
// you can invloke them by calling their invokes.
string YouReturn = YourFuncProperty.Invoke();
string YouReturn = YourParamitarizedFuncProperty.Invoke(5);
//The last is the basic sycronous way. For a aysnc call uses
YourFuncProperty.BeginInvoke();
YourParamitarizedFuncProperty.BeginInvoke(5);
//however, you will need to begin a await with EndInvoke to get your result after.
string YouReturn = YourFuncProperty.EndInvoke();
string YouReturn = YourParamitarizedFuncProperty.EndInvoke(5);
//You can also fill them with defined methods in a class if you wish,
//but the signatures must match.
Func<string> YourActionDefinedProperty = YourDefinedMethod;
string YourDefinedMethod()
{
//do something
return "or return what you want";
}
//Example of use
public sealed class DataContainer
{
//A bit contrived but we will give the ablity to overide the printout
//of the class while still keeping it sealed. See the invoke at ToString.
//could be useful in a library or something?
static func<string> SealedFuncStringOverride;
DataContainer(datetime Date)
{
this.Date = Date;
}
public datetime Date {get; private set;}
public int Amount {get; private set;}
public string Info {get; private set;}
public string FirstName {get; private set;}
//The invoke is used in here.
public override string ToString()
{
if(SealedFuncStringOverride!=null)
return SealedFuncStringOverride.BeginInvoke();
return base.ToString;
}
}
Example 6: c# func
using System;
using System.Collections.Generic;
using static System.Console;
namespace CSFlow.Delegates.Others
{
public class ActionFunc
{
public static void Run ()
{
// Example of : Action
// Use action when a mathod return void
Action<string> display = new Action<string>(DisplayMessage);
display("Calculate Discount :");
// Example of : Func
// Use action when a mathod return value
Func<double, double> discount = new Func<double, double>(Discount);
display(discount(12.5).ToString());
List<Customer> custList = new List<Customer>();
custList.Add(new Customer { Id = 1, FirstName = "Joydip", LastName = "Kanjilal", State = "Telengana", City = "Hyderabad", Address = "Begumpet", Country = "India" });
custList.Add(new Customer { Id = 2, FirstName = "Steve", LastName = "Jones", State = "OA", City = "New York", Address = "Lake Avenue", Country = "US" });
custList.Add(new Customer { Id = 3, FirstName = "Sefat", LastName = "Anam", State = "OSA", City = "New York", Address = "Manhatten", Country = "US" });
// Example of : Predicate
// Use Predicate for search data
Predicate<Customer> FindAddress = customer => customer.Address == "Manhatten";
Customer searchData = custList.Find(FindAddress);
display($"{searchData?.FirstName} {searchData?.LastName} From - {searchData?.City} ");
ReadKey();
}
static void DisplayMessage (string message)
{
WriteLine(message);
}
static double Discount (double money)
{
return money * .5;
}
class Customer
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Address { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Country { get; set; }
}
}
}