반응형
유용한 C# 확장 메소드 모음
ForEach
using System;
using System.Collections.Generic;
namespace Extensions
{
static class Extensions
{
public static void ForEach<T>(this IEnumerable<T> source, Action<T> action)
{
foreach (var item in source)
action(item);
}
}
}
Example
List<string> names = new List<string> { "beatle", "assassin", "chrisis", "erique", "fanlan" };
names.ForEach(name => Console.WriteLine(name));
DeepClone
public static T DeepClone<T>(this T input) where T : ISerializable
{
using (var stream = new MemoryStream())
{
var formatter = new BinaryFormatter();
formatter.Serialize(stream, input);
stream.Position = 0;
return (T)formatter.Deserialize(stream);
}
}
Example
var stringbuilder = new StringBuilder("TestData");
var copy = stringbuilder.DeepClone();
Assert.IsFalse(Equals(stringbuilder,copy));
반응형
'[====== Development ======] > C#' 카테고리의 다른 글
자동 시작 프로그램에 등록하는 기능 (0) | 2021.04.19 |
---|---|
String Extension Method (0) | 2021.04.19 |
Using Task and Progress window (0) | 2021.04.16 |
소수인지 여부 확인 (0) | 2021.02.18 |
Hashtable & Dictionary Example (0) | 2021.02.17 |