4th term 1st week - dsuz/csharp GitHub Wiki
以äžã®é ç®ã«ã€ããŠåŸ©ç¿ããã
- ããªã²ãŒã
- ã©ã ãåŒ
- System.Action
- System.Func
以äžã®ããã°ã©ã ã«ã€ããŠãArray.Sort() ã§éé ãœãŒããè¡ã£ãŠããããã® Sort() ã®åŒæ°ã®æå³ãæå®æ¹æ³ãçè§£ã§ããããã«ãªãããšãç®æšã§ããã
using System;
class Program
{
static void Main()
{
// é
åã«æ ŒçŽãããæŽæ°ãéé ã§äžŠã¹æ¿ãã
int[] arr = { 10, 409, 3, 64, 0, -2, 13 };
Array.Sort(arr, (a, b) => b - a);
Array.ForEach(arr, Console.WriteLine);
}
}
ã€ã³ã¿ãŒããããæ€çŽ¢ãªã©ããŠæ¹æ³ãèŠã€ããéã«ãããããããã³ããããã®ã§ã©ãããæå³ãªã®ãã¯ããããªãããšããç¶æ ã¯ãããããªããããã§ã¯ãVisual Studio ã®æ©èœã掻çšããŠãã³ãŒãã®æå³ãæ£ããçè§£ããæ¹æ³ãåŠã¶ã
ããªã²ãŒããšã¯ãã¡ãœããã®åãã§ãããint, string, Console ãªã©ã¯ãããŒã¿åãã§ãããã¡ãœããã®åãšããçºæ³ã«ãããã¡ãœããã倿°ã«ä»£å ¥ããããåŒæ°ã«ã¡ãœãããããŠãã§ããããã«ãªãã
ããªã²ãŒãïŒã¡ãœããã®åïŒã¯ä»¥äžãåãã§ããã°åãåã§ãããšã¿ãªãããã
- æ»ãå€ã®å
- åŒæ°ã®å
- åŒæ°ã®æ°
ãããããŒã¿åãšã¯éããšããã§ãããããŒã¿åã¯ãããŒã¿åãåããå Žåã«åãåã§ãããšã¿ãªãã
Unity å ã§ãç¡æèã«ãããªã²ãŒãã䜿ã£ãŠãããšããããããããã¯ãã¿ã³ã®ã¯ãªãã¯æã«å®è¡ããã¡ãœãããæå®ããæã§ããããã¿ã³ãã¯ãªãã¯ããæã«å®è¡ããåŠçãšããŠã¡ãœãããå²ãåœãŠãŠããããããã¯å®éã¯ããªã²ãŒãã䜿ã£ãŠã¡ãœãããå²ãåœãŠãŠããã
ããªã²ãŒããçè§£ããŠããã°ãã¹ã¯ãªãããããã¯ãªãã¯æã«å®è¡ãããåŠçããæå®ããããšãã§ããïŒãªãã¡ã¬ã³ã¹åç §ïŒããã ããã®å Žåãå²ãåœãŠãããã¡ãœãã㯠Inspector ã«è¡šç€ºãããªãããšã«æ³šæããããšã
Unity UI ã® EventTrigger ã³ã³ããŒãã³ãã¯ããããããããã以äžã®ãããªã³ã³ããŒãã³ãã䜿ã£ãŠ EventTrigger ã®ã€ãã³ãã«å²ãåœãŠãŠã¿ããšãShowMousePosition ãš Test1 ã¡ãœããã¯éžã¹ãã®ã«ãTest2, Test3 ã¡ãœããã¯éžã¹ãªãã
using UnityEngine;
using UnityEngine.EventSystems;
public class DelegateTest : MonoBehaviour
{
// ããŠã¹ã®ã¹ã¯ãªãŒã³åº§æšãåºåãããEventTrigger ããåŒã°ããããã®ã¡ãœããã
public void ShowMousePosition(BaseEventData bed)
{
PointerEventData pev = (PointerEventData)bed;
print(pev.position);
}
public void Test1() { }
public bool Test2() { return true; }
public bool Test3(BaseEventData bed) { return true; }
}
Test2, Test3 ãéžã¹ãªãã®ã¯ãããªã²ãŒããç°ãªãããã§ãããShowMousePosition ã¡ãœãããš Test3 ã¡ãœããã¯åŒæ°ãåãã ããæ»ãå€ãç°ãªãã®ã§ç°ãªãããªã²ãŒããšå€å¥ãããå²ãåœãŠæã«é€å€ãããŠããŸãã
å éšçãªä»æ§ã¯æããã§ã¯ãªãããButton ã® OnClick() ã EventTrigger ã« UI ããã¡ãœãããæå®ããæã«ã¯ãæ»ãå€ã void ã®ããªã²ãŒãã®ã¿ãæå®ã§ããã®ã ãããïŒãªãã¡ã¬ã³ã¹ãèŠããš UnityAction ã䜿ã£ãŠãããšæžããŠããã®ã§ããããããããªã®ã§ãããïŒ
å°å ¥ã®ã³ãŒãã«æ»ãããŸãã¯ãSort() ã¡ãœããã®åŒæ°ã«äœãæž¡ããŠããã®ãã確èªããªããŠã¯ãªããªããVisual Studio ã§ "Sort" ãšããæååã«ããŠã¹ã«ãŒãœã«ãåãããŠåŸ ã€ãšã以äžã®ããã«ãããã¢ãããã«ãã§ã¡ãœããã®å®çŸ©ã衚瀺ãããã17 åã®ãªãŒããŒããŒãã®ãã¡ã®äžã€ã䜿ã£ãŠããããšããããã
ããã§ããŠã¹ã«ãŒãœã«ããããã¢ããå ã«ç§»åãã"Comparison" ãã¯ãªãã¯ãããšã以äžã®ããã« Comparison ã®å®çŸ©ã衚瀺ãããã
ããã§ããã® Sort() ã¡ãœããã§ã¯ã第äžåŒæ°ã«ãœãŒããã察象ã®é åãã第äºåŒæ°ã«ãæ¯èŒ (comparison)ããè¡ãããã®ããªã²ãŒãïŒã€ãŸãã¡ãœããïŒãæž¡ããŠããããšããããããããŠããã®ããªã²ãŒãïŒã€ãŸãã¡ãœããã®åïŒã¯ã
- åŒæ° (int, int)
- æ»ãå€ int
ã§ããããšããããã
ãããŸã§ã§ãããçšåºŠç¿çããè
ã§ããã°ãComparison ã«ã©ã®ãããªã¡ãœãããæž¡ãã®ããããã ãããIComparable.CompareTo()
ãŸã㯠IComparable<T>.CompareTo()
ãšåãããšãããã°ãããšæ³åãã€ãããããã§ãªãå Žåãåé¡ã§ã¯ãªãããªãã¡ã¬ã³ã¹ãèŠãŠäœãæž¡ãã®ãã確èªããã°ããã
Sort() ã®äžã«ã«ãŒãœã«ãããç¶æ
ã§ F1 ããŒãæŒãã°ããªãã¡ã¬ã³ã¹ã衚瀺ãããããªãŒããŒããŒãäžèЧãããåŒæ°ã (T[], Comparison<T>)
ã§ãããã®ãèŠã€ããŠå
容ã確èªããŸãããã
ãªãã¡ã¬ã³ã¹ãèŠããšãããã« Comparison<T>
ã®èª¬æãžãªã³ã¯ãããŠããããããèªãã°ãComparison ã«ã¯æž¡ããã 2ã€ã®åŒæ° x, y ã®å€§å°é¢ä¿ïŒååŸé¢ä¿ïŒãæ»ãå€ãšããŠè¿ãã¡ãœãããæž¡ãããšããããšããããã
ããããããã°ã以äžã®ããã« Array.Sort() ã䜿ã£ãéé ãœãŒããæžãããšãã§ããã
// ãã¿ãŒã³ A
using System;
class Program
{
static void Main()
{
// é
åã«æ ŒçŽãããæŽæ°ãéé ã§äžŠã¹æ¿ãã
int[] arr = { 10, 409, 3, 64, 0, -2, 13 };
Comparison<int> comparison = Descending; // ããªã²ãŒãã䜿ã£ãŠå€æ°ã«ã¡ãœãããå²ãåœãŠãæž¡ã
Array.Sort(arr, comparison);
Array.ForEach(arr, Console.WriteLine);
}
// x ãš y ã®éé ã®ååŸé¢ä¿ãå®çŸ©ãã
static int Descending(int x, int y)
{
if (x > y)
return -1; // éé ãªã®ã§ãx ã®æ¹ã倧ãããã° x ã®æ¹ãåã«ãªã
else if (x == y)
return 0;
else
return 1;
}
}
// ãã¿ãŒã³ B
using System;
class Program
{
static void Main()
{
// é
åã«æ ŒçŽãããæŽæ°ãéé ã§äžŠã¹æ¿ãã
int[] arr = { 10, 409, 3, 64, 0, -2, 13 };
// x ãš y ã®éé ã®ååŸé¢ä¿ãå®çŸ©ãã
int Descending(int x, int y)
{
return y - x; // éé ãªã®ã§ãx ã®æ¹ã倧ããæã«ã¯è² ã®å€ãè¿ã
} // ã¡ãœããå
ã«ã¡ãœãããå®çŸ©ããããšãã§ããããã®å Žåã¹ã³ãŒã㯠Main ã¡ãœããå
ã«éå®ãããã
Array.Sort(arr, Descending); // ãããã倿°ã«å
¥ããã«çŽæ¥ã¡ãœãããæž¡ã
Array.ForEach(arr, Console.WriteLine);
}
}
åè¿°ã®ãã¿ãŒã³ A, B ã§ã¯ DescendingïŒéé ïŒãšããã¡ãœãããäœã£ãŠæå®ããããæ±çšçã§ãªãã¡ãœãããããããå®çŸ©ããã®ã¯ä»¥äžã®ãããªéœåã®æªãäºæ ãæãããšãããã
- åŠçãã³ãŒãã®å¥ã®ç®æã«é£ãã ãããŠãã³ãŒãã®èŠéããæªã
- ã³ãŒããèšè¿°ããéã«å¥ã®ç®æã«èšè¿°ããå¿ èŠããããšãçç£æ§ãèœã¡ã
- ä»ã§äœ¿ãããäºå®ã§äœã£ãŠããªãã®ã«ãå¥ã®ããã°ã©ããŒã«ãã£ãŠäºæãã¬ç®æã§ã¡ãœããã䜿ããã
- ã¡ãœããã®å æ¥ã®çšéã»èãæ¹ãšåã£ãŠããªã
ãã®ãããªåé¡ã解決ããæ¹æ³ãšããŠãå¿åã¡ãœãããè¯ã䜿ããããå¿å (anonymous) ã¡ãœãããšã¯ãååãä»ããªãã¡ãœãããã§ãããã³ãŒãã«åã蟌ãããšãã§ãããç¡å (nameless) ã¡ãœãããšåŒã°ããå Žåãããã
ã©ã ãåŒã¯ãå¿åã¡ãœãããå®çŸ©ããæã«äœ¿ãæžãæ¹ã®äžã€ã§ãããC# ã§ã¯ delegate æŒç®åã䜿ã£ãŠå¿åã¡ãœãããå®çŸ©ããããšãã§ããããçŸåšã§ã¯ã»ãšãã©äœ¿ãããŠããªãã
åºæ¬çãªæžãæ¹ã¯ä»¥äžã®éãã
(åŒæ°) =>
{
// ããã«ã¡ãœãããå®çŸ©ãã
}
ä»åã®éé ãœãŒãã®ã³ãŒãã«å¯ŸããŠã¯ã以äžã®ããã«å¿åã¡ãœããã䜿ã£ãŠ Comparison ãå®çŸ©ããããšãã§ããã
using System;
class Program
{
static void Main()
{
// é
åã«æ ŒçŽãããæŽæ°ãéé ã§äžŠã¹æ¿ãã
int[] arr = { 10, 409, 3, 64, 0, -2, 13 };
// x ãš y ã®éé ã®ååŸé¢ä¿ãå®çŸ©ããå¿åã¡ãœãããå®çŸ©ãã倿°ã«å²ãåœãŠã
Comparison<int> comparison = (int x, int y) =>
{
return y - x;
};
Array.Sort(arr, comparison);
Array.ForEach(arr, Console.WriteLine);
}
}
å¿åã¡ãœããã倿°ã«å²ãåœãŠãã«åŒæ°ã«çŽæ¥æž¡ããšã以äžã®ããã«ãªãã
using System;
class Program
{
static void Main()
{
// é
åã«æ ŒçŽãããæŽæ°ãéé ã§äžŠã¹æ¿ãã
int[] arr = { 10, 409, 3, 64, 0, -2, 13 };
// x ãš y ã®éé ã®ååŸé¢ä¿ãå®çŸ©ããå¿åã¡ãœãããå®çŸ©ããåŒæ°ã«æž¡ã
Array.Sort(arr, (int x, int y) =>
{
return y - x;
});
Array.ForEach(arr, Console.WriteLine);
}
}
ã ãã¶è¿ã¥ããŠãããããŸã åé ã§ç€ºããã³ãŒãã«ã¯ãªã£ãŠããªããåé ã®ã³ãŒãã«ã¯ãªãèšè¿°ãããã
ã©ã ãåŒã¯ãçç¥ã§ããå Žåã¯çç¥ããŠèšè¿°ããã®ãäžè¬çã§ããããã®ããã«ãããããã§æ¢ããŠã³ãŒããèŠã€ãããæã«ãã®ã³ãŒãã®æå³ãããããªãããšãå€ã ãããä»åã®äž»åŒµã¯ãã®ãããªããšãæžãããããšãããã®ãªã®ã ãããã®ããã«ã¯ã«ãŒã«ã«åºã¥ããçç¥ã®æ¹æ³ãç¥ã£ãŠããå¿ èŠãããã
ãŸãã以äžã®ãããªå Žåã«çç¥ã§ããã
- åŒæ°ã®åã¯åæšè«ã§ãããããçç¥ã§ãããã€ãŸãæžããªããŠããïŒvar ãæžããªãïŒ
- å¿åã¡ãœããã 1 è¡ã§æžãå Žå㯠{} ; return ãçç¥ã§ãã
ãã®çç¥ãããçµæã以äžã«ãªããåé ã«ç€ºããã³ãŒããšåããã®ã«ãªã£ãã
using System;
class Program
{
static void Main()
{
// é
åã«æ ŒçŽãããæŽæ°ãéé ã§äžŠã¹æ¿ãã
int[] arr = { 10, 409, 3, 64, 0, -2, 13 };
// x ãš y ã®éé ã®ååŸé¢ä¿ãå®çŸ©ããå¿åã¡ãœãããå®çŸ©ããåŒæ°ã«æž¡ã
Array.Sort(arr, (x, y) => y - x);
Array.ForEach(arr, Console.WriteLine);
}
}
ãŸããCompareTo() ã¡ãœããã䜿ã£ããããªæžãæ¹ãã§ããã
using System;
class Program
{
static void Main()
{
// é
åã«æ ŒçŽãããæŽæ°ãéé ã§äžŠã¹æ¿ãã
int[] arr = { 10, 409, 3, 64, 0, -2, 13 };
// x ãš y ã®éé ã®ååŸé¢ä¿ãå®çŸ©ããå¿åã¡ãœãããå®çŸ©ãã倿°ã«å²ãåœãŠã
Array.Sort(arr, (x, y) => y.CompareTo(x));
Array.ForEach(arr, Console.WriteLine);
}
}
Unity ã§ããªã²ãŒããã©ã ãåŒã䜿ãå Žé¢ã¯ãé«åºŠãªäºãããããšãããšå€ã ãããäžè¬çãªããŒã¿åŠçã Linq ã§ã¯ãã¡ãã䜿ããããããã§ã¯ããã以å€ã®çšéã§äœ¿ãããäŸãããã€ãæããã
- Button, EventTrigger ã³ã³ããŒãã³ãã«ããã°ã©ã ããåŠçãå²ãåœãŠãæ
-
DOTween ã® OnComplete ã¡ãœããã§éåæåŠçåŸã®ã³ãŒã«ããã¯åŠçãæå®ããæ
- äžã®ãªã³ã¯å ã§ã¯ OnComplete ã¡ãœãã以å€ã«ãã³ãŒã«ããã¯ãæå®ããã¡ãœããã®äžèЧããããŸã
- ãããã¯ãŒã¯ã²ãŒã ã§éåæéä¿¡å®äºåŸã®ã³ãŒã«ããã¯åŠçãæå®ããæ
- NCMB ã§ã¯ãµãŒããŒãžã®åãåããåŠçããŠãŒã¶ãŒç®¡çåŠçãªã©ãéåžžã«å€ãã®å Žé¢ã§äœ¿ãããŸã
C# ã«ãžã§ããªãã¯ãå°å
¥ãããããšã§ãããªã²ãŒããå®çŸ©ããã®ãéåžžã«æ¥œã«ãªã£ããäŸãã°äžèšã® Comparison<int>
ã«ã€ããŠãããžã§ããªãã¯ãç¡ããã°ãint, uint, double, float, ... ãæ¯èŒããããã«ãã¡ãã¡ããå°çšã®ããªã²ãŒããå®çŸ©ããªããã°ãªããªããããžã§ããªãã¯ã®ãããã§ Comparison<T>
ã ãã§ããããåã®æ¯èŒãšå€§å°ã»ååŸé¢ä¿ãå®çŸ©ããããšãã§ããããã«ãªã£ããã€ãŸãæ±çšçã«äœ¿ããããã«ãªã£ãã
ãã®æ±çšåãããã«é²ãããããªãã®ã System.Action ãš System.Func ã§ããã
System.Action ãšã¯ãæ»ãå€ãè¿ããªãã¡ãœããã®ããªã²ãŒãã§ãããSystem.Action ã ãã§ã¯åŒæ°ãæããªããã以äžã®ããã«åŒæ°ã¯ 16 åãŸã§æå®ã§ããã
-
System.Action
- åŒæ°ãªããæ»ãå€ãªã -
System.Action<T>
- åŒæ° Tãæ»ãå€ãªã -
System.Action<T1, T2>
- åŒæ° T1, T2ãæ»ãå€ãªã -
System.Action<T1, T2, T3>
- åŒæ° T1, T2, T3ãæ»ãå€ãªã ... -
System.Action<T1, T2, ... T16>
- åŒæ° T1, T2 ... T16ãæ»ãå€ãªã
åé ã®ã³ãŒãã§ã¯ãArray.ForEach() ã¡ãœããã§ System.Action ã䜿ãããŠãããããã以äžã®ããã«ãããã¢ãããã«ãããèŠãäºãã§ããã
Array.Sort ã調ã¹ãã®ãšåæ§ã« Array.ForEach ã®ãªãã¡ã¬ã³ã¹ãèŠãããšã§ã第äžåŒæ°ã§é åãæå®ãããã®é åã«å«ãŸããåèŠçŽ ã«å¯ŸããŠå®è¡ãããåŠçã第äºåŒæ°ã«æå®ããããšãããããæž¡ãã¡ãœããã¯ãint ã®å€ãåŒæ°ã«ãšããæ»ãå€ã®ãªãã¡ãœãããã§ããã
ããããããšã¯ãé åã®åèŠçŽ ãåºåãããããšãªã®ã§ããããŸã§ã«åŠãã ããšã䜿ããšã以äžã®ããã«èšè¿°ããããšã«ãªãã§ãããã
using System;
class Program
{
static void Main()
{
// é
åã«æ ŒçŽãããæŽæ°ãéé ã§äžŠã¹æ¿ãã
int[] arr = { 10, 409, 3, 64, 0, -2, 13 };
// x ãš y ã®éé ã®ååŸé¢ä¿ãå®çŸ©ããå¿åã¡ãœãããå®çŸ©ãã倿°ã«å²ãåœãŠã
Array.Sort(arr, (x, y) => y.CompareTo(x));
Array.ForEach(arr, (i) => Console.WriteLine(i)); // ãint ã®å€ãåŒæ°ã«ãšããæ»ãå€ã®ãªãã¡ãœããããæž¡ã
}
}
ãªãããã©ã ãåŒã®åŒæ°ãäžã€ãããªãæã¯ã巊蟺㮠() ãçç¥ã§ãããã®ã§ã以äžã®ããã«æžãããšãã§ããŸãã
using System;
class Program
{
static void Main()
{
// é
åã«æ ŒçŽãããæŽæ°ãéé ã§äžŠã¹æ¿ãã
int[] arr = { 10, 409, 3, 64, 0, -2, 13 };
// x ãš y ã®éé ã®ååŸé¢ä¿ãå®çŸ©ããå¿åã¡ãœãããå®çŸ©ãã倿°ã«å²ãåœãŠã
Array.Sort(arr, (x, y) => y.CompareTo(x));
Array.ForEach(arr, i => Console.WriteLine(i)); // ãint ã®å€ãåŒæ°ã«ãšããæ»ãå€ã®ãªãã¡ãœããããæž¡ã
}
}
ããããConsole.WriteLine() ãã®ãã®ããint ã®å€ãåŒæ°ã«ãšããæ»ãå€ã®ãªãã¡ãœãããã§ããããã以äžã®ããã«ãã®ãŸãŸæå®ããããšãã§ããã
using System;
class Program
{
static void Main()
{
// é
åã«æ ŒçŽãããæŽæ°ãéé ã§äžŠã¹æ¿ãã
int[] arr = { 10, 409, 3, 64, 0, -2, 13 };
// x ãš y ã®éé ã®ååŸé¢ä¿ãå®çŸ©ããå¿åã¡ãœãããå®çŸ©ãã倿°ã«å²ãåœãŠã
Array.Sort(arr, (x, y) => y.CompareTo(x));
Action<int> action = Console.WriteLine; // ãint ã®å€ãåŒæ°ã«ãšããæ»ãå€ã®ãªãã¡ãœããããå²ãåœãŠã
Array.ForEach(arr, action);
}
}
using System;
class Program
{
static void Main()
{
// é
åã«æ ŒçŽãããæŽæ°ãéé ã§äžŠã¹æ¿ãã
int[] arr = { 10, 409, 3, 64, 0, -2, 13 };
// x ãš y ã®éé ã®ååŸé¢ä¿ãå®çŸ©ããå¿åã¡ãœãããå®çŸ©ãã倿°ã«å²ãåœãŠã
Array.Sort(arr, (x, y) => y.CompareTo(x));
Array.ForEach(arr, Console.WriteLine); // ãint ã®å€ãåŒæ°ã«ãšããæ»ãå€ã®ãªãã¡ãœããããçŽæ¥æž¡ã
}
}
System.Action ã¯ãæ»ãå€ã®ãªãã¡ãœããã®ããªã²ãŒããã ããäžæ¹ System.Func ã¯ãæ»ãå€ã®ããã¡ãœããã®ããªã²ãŒããã§ãããSystem.Action ãšåæ§ã以äžã®ããã«åŒæ°ã 16 åãŸã§ãšãããšãã§ããã
-
System.Func<TR>
- åŒæ°ãªããæ»ãå€ TR -
System.Func<T, TR>
- åŒæ° Tãæ»ãå€ TR -
System.Func<T1, T2, TR>
- åŒæ° T1, T2ãæ»ãå€ TR -
System.Func<T1, T2, T3, TR>
- åŒæ° T1, T2, T3ãæ»ãå€ TR ... -
System.Func<T1, T2, ... T16, TR>
- åŒæ° T1, T2 ... T16ãæ»ãå€ TR
èŠããŠãããªããã°ãªããªãã®ã¯ãT1, T2, ... TR ã®ãã¡ãäžçªå³ã«æå®ãããåãã©ã¡ãŒã¿ãæ»ãå€ã®åã§ãããããšã§ãããããç¥ããªããšèªãããšãã§ããŸããã
System.Func ã䜿ãäŸãšããŠã¯ Linq ã® OrderBy() ã¡ãœããããããŸããéé ãœãŒãããå Žå㯠OrderByDescending() ã¡ãœããã䜿ããŸãããããŸã§ãã£ãŠããããã« Visual Studio ã®ãããã¢ãããã«ãããªãã¡ã¬ã³ã¹æ©èœã䜿ãã°ããŸã£ããåæ§ã«äœ¿ããŸãã
// ãã¿ãŒã³ A
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
// é
åã«æ ŒçŽãããæŽæ°ãéé ã§äžŠã¹æ¿ãã
List<int> list = new List<int>(new int[] { 10, 409, 3, 64, 0, -2, 13 });
// éé ãœãŒããã
Func<int, int> keySelector = (int i) => { return i; };
list.OrderByDescending(keySelector).ToList().ForEach(Console.WriteLine);
}
}
// ãã¿ãŒã³ B
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
// é
åã«æ ŒçŽãããæŽæ°ãéé ã§äžŠã¹æ¿ãã
List<int> list = new List<int>(new int[] { 10, 409, 3, 64, 0, -2, 13 });
// éé ãœãŒããã
foreach (var i in list.OrderByDescending(i => i))
Console.WriteLine(i);
}
}
ä»åã®ããã« Visual Studio ã®ãããã¢ãããã«ããšãªãã¡ã¬ã³ã¹ã䜿ãã°ãã©ã®ãããªããªã²ãŒãã§ããããšãäœ¿ãæ¹ãç¥ãããšãã§ããŸããSystem.Action ã System.Func ãæ±çšçã«äœãããã ãã®ããã ã®ããªã²ãŒããã§ãã
éã«ãããªã²ãŒãã®å®çŸ©ãããã䜿ãã¡ãœããã®äœ¿ãæ¹ïŒã€ãŸããªãã¡ã¬ã³ã¹ã«èŒã£ãŠããå 容ïŒãç¥ããªããã°ãã³ãŒãã ããèŠãŠãäœãããŠããã®ãããããªãããšããããããŸããåŸã£ãŠããããã§æ€çŽ¢ããŠæå³ãçè§£ããã³ãŒããã³ããããã®ã¯ãããããŸããããªããªããã³ãŒããèŠãã ãã§ã¯äœãããŠãããããããªããããšã¯ãæ®éãã ããã§ããããã°ã©ããŒãæå³ãçè§£ããŠããªãã³ãŒãã䜿ã£ãŠåããŠããããã°ã©ã ã¯å±éºã§ããã䟡å€ããããŸããã
å ã®äŸã§ DOTween ã NCMB ãæããŸããããããããæ¬¡ã«æããããã«ãåœç¶ãªãã¡ã¬ã³ã¹ãçšæãããŠããŸããããããªããã°ãã©ãããã³ãŒããæžãã°æåŸ éãã«åããïŒäœã£ã人以å€ïŒèª°ã«ãããããªãããã§ãã
ãªãã¡ã¬ã³ã¹ãèªããããã«ãªãã®ã¯é£ããã§ããã䟿å©ãªéå ·ã䜿ãããšã§é£èºçã«æ¥œã«ãªããŸããåŠãã ããšã掻ãããŠå·®ãã€ããŸãããã