SlideShare a Scribd company logo
1 of 50
Download to read offline
知って得する

C#

株式会社ハ・ン・ド
プログラマ
馬場翔太
http://baba-s.hatenablog.com/
スライド内容
1. C#の機能紹介
2. C#のツール紹介
C#の機能紹介
クラスの定義を複数のファイルに分ける
partialキーワード
// CharacterA.cs
public partial class Character
{
private int id;
}
// CharacterB.cs
public partial class Character
{
private string name;
}
http://d.hatena.ne.jp/pknight/20130206/1360151414
値型でnullを扱う
null許容型

int? x = 123;
int? y = null;

http://ufcpp.net/study/csharp/sp2_nullable.html
http://bleis-tift.hatenablog.com/entry/cmp_Option_Nullable
nullチェックと代入をスマートに書く
??演算子(null合体演算子)

// 条件演算子の場合
z = x != null ? x : y;
// ??演算子の場合
z = x ?? y;

http://d.hatena.ne.jp/pknight/20130206/1360145446
http://odashinsuke.hatenablog.com/entry/20090522/1243002878
Unityにおける??演算子の使用例(1)

// if文の場合
var boxCollider =
gameObject.GetComponent<BoxCollider>();
if (boxCollider == null)
{
boxCollider =
gameObject.AddComponent<BoxCollider>();
}

http://udasankoubou.blogspot.jp/2013/08/unitynull.html
Unityにおける??演算子の使用例(2)

// ??演算子の場合
var boxCollider =
gameObject.GetComponent<BoxCollider>() ??
gameObject.AddComponent<BoxCollider>();

http://udasankoubou.blogspot.jp/2013/08/unitynull.html
インスタンス生成が不可能なクラスを作る
staticクラス
// privateコンストラクタの場合
public class MyClass
{
private MyClass(){}
}
// staticクラスの場合
public static class MyClass
{
}
http://ufcpp.net/study/csharp/oo_static.html#class
http://ykimisaki.hatenablog.jp/entry/2013/07/10/220545
ローカル変数の型の宣言を省略する(1)
varキーワード

// varキーワードを使わない場合の宣言
string name = "";
MyClass obj = new MyClass();
Dictionary<string, MyClass> dict =
new Dictionary<string, MyClass>();
ローカル変数の型の宣言を省略する(2)
varキーワード

// varキーワードを使う場合の宣言
var name = "";
var obj = new MyClass();
var dict = new Dictionary<string, MyClass>();
既存の型にメソッドを追加する(1)
拡張メソッド
// 文字列を大文字に変換する(通常の関数の場合)
public static class StringUtility
{
public static string UpperCase(string str)
{
// ...
}
}

str = StringUtility.UpperCase(str);
http://ufcpp.net/study/csharp/sp3_extension.html
既存の型にメソッドを追加する(2)
拡張メソッド
// 文字列を大文字に変換する(拡張メソッドの場合)
public static class StringUtility
{
public static string UpperCase(this string str)
{
// ...
}
}

str = str.UpperCase();
http://ufcpp.net/study/csharp/sp3_extension.html
Unityにおける拡張メソッドの使用例(1)

// エラー
transform.position.x = 0;
// OK
var pos = transform.position;
pos.x = 0;
transform.position = pos;

http://kou-yeung.hatenablog.com/entry/2013/11/18/233000
Unityにおける拡張メソッドの使用例(2)

// 通常の関数の場合
public static class TransformUtility
{
public static void SetPositionX(Transform transform, float x)
{
var pos = transform.position;
pos.x = x;
transform.position = pos;
}
}
TransformUtility.SetPositionX(transform, 0);

http://kou-yeung.hatenablog.com/entry/2013/11/18/233000
Unityにおける拡張メソッドの使用例(3)

// 拡張メソッドの場合
public static class TransformUtility
{
public static void SetPositionX(this Transform transform, float x)
{
var pos = transform.position;
pos.x = x;
transform.position = pos;
}
}
transform.SetPositionX(0);

http://kou-yeung.hatenablog.com/entry/2013/11/18/233000
オブジェクトの初期化をスマートに書く(1)
初期化子
// Add関数による初期化(List型)
var list = new List<int>();
list.Add(1);
list.Add(2);
list.Add(3);
// 初期化子による初期化(List型)
var list = new List<int>{ 1, 2, 3, };

http://cs.hatenablog.jp/entry/2013/06/24/190945
オブジェクトの初期化をスマートに書く(2)
初期化子
// Add関数による初期化(Dictionary型)
var dict = new Dictionary<string, int>();
dict.Add("one", 1);
dict.Add("two", 2);
// 初期化子による初期化(Dictionary型)
var dict = new Dictionary<string, int>()
{
{ "one", 1 },
{ "two", 2 },
};
http://cs.hatenablog.jp/entry/2013/06/24/190945
一時的に利用する型の定義を省略する
匿名型
// 匿名型を使わない定義の場合
var characterId = 0;
var characterName = "";
// 匿名型を使う定義の場合
var character = new { Id = 0, Name = "" };
// character.Id
// character.Name

http://ufcpp.net/study/csharp/sp3_inference.html
配列を作成する際に型を省略する
暗黙型付け配列

// 通常の配列作成
var array = new string[] { "1", "2", "3", "4", };

// 暗黙型付け配列
var array = new [] { "1", "2", "3", "4", };

http://gushwell.ldblog.jp/archives/51115733.html
引数の順序を自由に書く
名前付き引数

static int Sum(int x = 0, int y = 0, int z = 0)
{
}
int s1 = Sum(x: 1, y: 2, z: 3);
int s2 = Sum(y: 2, z: 3, x: 1);
int s3 = Sum(y: 1);

http://noriok.hatenadiary.jp/entry/2013/08/18/014408
高速な繰り返し処理を書く(1)
ForEachメソッド

// foreach文の場合
foreach (int n in list)
{
Console.WriteLine(n);
}

http://www.atmarkit.co.jp/fdotnet/extremecs/extremecs_03/extremecs_03_12.html
高速な繰り返し処理を書く(2)
ForEachメソッド

// 配列の場合
Array.ForEach(array, n => Console.WriteLine(n));
// List型の場合
list.ForEach(n => Console.WriteLine(n));

http://www.atmarkit.co.jp/fdotnet/extremecs/extremecs_03/extremecs_03_12.html
検索に特化したメソッドを使う(1)
Findメソッド
// foreach文の場合
var result = 0;
foreach (var n in list)
{
if (n == 0)
{
result = n;
}
}
http://www.atmarkit.co.jp/fdotnet/extremecs/extremecs_04/extremecs_04_03.html
検索に特化したメソッドを使う(2)
Findメソッド

// 配列の場合
var result = Array.Find(array, n => n == 0);

// List型の場合
var result = list.Find(n => n == 0);

http://www.atmarkit.co.jp/fdotnet/extremecs/extremecs_04/extremecs_04_03.html
newで生成するオブジェクトを定数にする
static readonly
// OK
private const int MaxValue = 100;
// エラー
private const Vector2 Position =
new Vector2(100, 100);
// OK
private static readonly Vector2 Position =
new Vector2(100, 100);
http://msdn.microsoft.com/ja-jp/library/aa645753.aspx
安全にキャストする
as演算子

// 失敗したら例外発生
var str = (string)obj;

// 失敗したらnullを返す
var str = obj as string;

http://ichitcltk.hustle.ne.jp/gudon/modules/pico_rd/index.php?content_id=131
読み取り専用の配列やリストを作る(1)
ReadOnlyCollectionクラス

private List<int> datas = new List<int>();
// ReadOnlyCollectionを使用しないで公開
public List<int> Datas
{
get { return datas; }
}

http://fernweh.jp/b/csharp-readonly-collections/
読み取り専用の配列やリストを作る(2)
ReadOnlyCollectionクラス

private List<int> datas = new List<int>();
// ReadOnlyCollectionを使用して公開
public ReadOnlyCollection<int> Datas
{
get { return datas.AsReadOnly(); }
}

http://fernweh.jp/b/csharp-readonly-collections/
他のプログラムを起動する
Processクラス
// メモ帳を起動する
Process.Start("Notepad");

// ファイルを指定してメモ帳を起動する
Process.Start("Notepad", @"C:¥Hoge.txt");
// 規定のエディタで画像ファイルを開く(関連付け起動)
Process.Start(@"C:¥Hoge.bmp");

http://jeanne.wankuma.com/tips/csharp/process/
SQLライクなループ構文を書く(1)
LINQ

// 偶数を検索する
var array = new []{ 1, 2, 3, 4, 5 };
// ループ構文を使用する場合
var result = new List<int>();
foreach (var x in array)
{
if (x % 2 == 0)
{
result.Add(x);
}
}
SQLライクなループ構文を書く(2)
LINQ

// 偶数を検索する
var array = new []{ 1, 2, 3, 4, 5 };
// LINQを使用する場合
var result = from x in array
where x % 2 == 0
select x;
SQLライクなループ構文を書く(3)
LINQ
// 数を数える
// ループ構文を使用する場合
foreach (var n in list)
{
if (n == 0)
{
num++;
}
}
SQLライクなループ構文を書く(4)
LINQ

// 数を数える
// LINQを使用する場合
var num = (from n in list where n == 0).Count();
C#のツール紹介
ReSharper(Visual Studioのアドイン)
できること
•

コード監視

•

ハイライト拡張

•

クラスや変数の使用箇所の検索

•

リファクタリング

•

タスク管理
コード監視
•

未定義の関数を作成

•

命名規則の確認

•

コードの簡略化
未定義の関数を作成
命名規則の確認
varキーワードに置き換える
null許容型に置き換える
null合体演算子に置き換える
初期化子に置き換える
初期化子に置き換える
暗黙型付け配列に置き換える
ハイライト拡張
ハイライト拡張
•

未使用のusingや変数、関数が灰色になる

•

エラーになるコードが赤色になる

•

コーディングルールに沿わないコードに破線が付く
30日間無料
ありがとうございました

More Related Content

What's hot

競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門natrium11321
 
Orange Cube 自社フレームワーク 2015/3
Orange Cube 自社フレームワーク 2015/3Orange Cube 自社フレームワーク 2015/3
Orange Cube 自社フレームワーク 2015/3信之 岩永
 
C# 8.0 Preview in Visual Studio 2019 (16.0)
C# 8.0 Preview in Visual Studio 2019 (16.0)C# 8.0 Preview in Visual Studio 2019 (16.0)
C# 8.0 Preview in Visual Studio 2019 (16.0)信之 岩永
 
C++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプC++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプKohsuke Yuasa
 
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性Hibiki Yamashiro
 
基礎からのCode Contracts
基礎からのCode Contracts基礎からのCode Contracts
基礎からのCode ContractsYoshifumi Kawai
 
プログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコードプログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコードShigenori Sagawa
 
C++入門?
C++入門?C++入門?
C++入門?tsudaa
 
templateとautoの型推論
templateとautoの型推論templateとautoの型推論
templateとautoの型推論MITSUNARI Shigeo
 
今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 TipsTakaaki Suzuki
 
C#coding guideline その2_20130325
C#coding guideline その2_20130325C#coding guideline その2_20130325
C#coding guideline その2_20130325Yoshihisa Ozaki
 
C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会Akihiko Matuura
 
T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門伸男 伊藤
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?Moriharu Ohzu
 
Visual C++で使えるC++11
Visual C++で使えるC++11Visual C++で使えるC++11
Visual C++で使えるC++11nekko1119
 
C#言語機能の作り方
C#言語機能の作り方C#言語機能の作り方
C#言語機能の作り方信之 岩永
 

What's hot (20)

競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
 
C#の書き方
C#の書き方C#の書き方
C#の書き方
 
Orange Cube 自社フレームワーク 2015/3
Orange Cube 自社フレームワーク 2015/3Orange Cube 自社フレームワーク 2015/3
Orange Cube 自社フレームワーク 2015/3
 
C# 8.0 Preview in Visual Studio 2019 (16.0)
C# 8.0 Preview in Visual Studio 2019 (16.0)C# 8.0 Preview in Visual Studio 2019 (16.0)
C# 8.0 Preview in Visual Studio 2019 (16.0)
 
C++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプC++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプ
 
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
 
Emcpp item31
Emcpp item31Emcpp item31
Emcpp item31
 
基礎からのCode Contracts
基礎からのCode Contracts基礎からのCode Contracts
基礎からのCode Contracts
 
Objc lambda
Objc lambdaObjc lambda
Objc lambda
 
プログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコードプログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコード
 
C++入門?
C++入門?C++入門?
C++入門?
 
templateとautoの型推論
templateとautoの型推論templateとautoの型推論
templateとautoの型推論
 
今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips
 
Deep Dive C# 6.0
Deep Dive C# 6.0Deep Dive C# 6.0
Deep Dive C# 6.0
 
C#coding guideline その2_20130325
C#coding guideline その2_20130325C#coding guideline その2_20130325
C#coding guideline その2_20130325
 
C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会
 
T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門T69 c++cli ネイティブライブラリラッピング入門
T69 c++cli ネイティブライブラリラッピング入門
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
Visual C++で使えるC++11
Visual C++で使えるC++11Visual C++で使えるC++11
Visual C++で使えるC++11
 
C#言語機能の作り方
C#言語機能の作り方C#言語機能の作り方
C#言語機能の作り方
 

Similar to 知って得するC#

わんくま同盟大阪勉強会#61
わんくま同盟大阪勉強会#61わんくま同盟大阪勉強会#61
わんくま同盟大阪勉強会#61TATSUYA HAYAMIZU
 
TypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービューTypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービューAkira Inoue
 
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2Masao Kato
 
Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~CHY72
 
PHP AST 徹底解説
PHP AST 徹底解説PHP AST 徹底解説
PHP AST 徹底解説do_aki
 
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和schoowebcampus
 
(ゲームじゃない方の)switchで遊びたい話
(ゲームじゃない方の)switchで遊びたい話(ゲームじゃない方の)switchで遊びたい話
(ゲームじゃない方の)switchで遊びたい話Masanori Masui
 
中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexpr中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexprGenya Murakami
 
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~Fujio Kojima
 
MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013
MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013
MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013Kiyoshi Ogawa
 
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Synthesijer and Synthesijer.Scala in HLS-friends 201512Synthesijer and Synthesijer.Scala in HLS-friends 201512
Synthesijer and Synthesijer.Scala in HLS-friends 201512Takefumi MIYOSHI
 
asm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web gamesasm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web gamesNoritada Shimizu
 
TypeScript と Visual Studio Code
TypeScript と Visual Studio CodeTypeScript と Visual Studio Code
TypeScript と Visual Studio CodeAkira Inoue
 
JavaScript 講習会 #1
JavaScript 講習会 #1JavaScript 講習会 #1
JavaScript 講習会 #1Susisu
 
Write good parser in perl
Write good parser in perlWrite good parser in perl
Write good parser in perlJiro Nishiguchi
 
Python physicalcomputing
Python physicalcomputingPython physicalcomputing
Python physicalcomputingNoboru Irieda
 

Similar to 知って得するC# (20)

Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7
 
わんくま同盟大阪勉強会#61
わんくま同盟大阪勉強会#61わんくま同盟大阪勉強会#61
わんくま同盟大阪勉強会#61
 
TypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービューTypeScript 1.0 オーバービュー
TypeScript 1.0 オーバービュー
 
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2
 
Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~Unity2015_No10_~UGUI&Audio~
Unity2015_No10_~UGUI&Audio~
 
PHP AST 徹底解説
PHP AST 徹底解説PHP AST 徹底解説
PHP AST 徹底解説
 
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
 
(ゲームじゃない方の)switchで遊びたい話
(ゲームじゃない方の)switchで遊びたい話(ゲームじゃない方の)switchで遊びたい話
(ゲームじゃない方の)switchで遊びたい話
 
中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexpr中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexpr
 
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
C# 式木 (Expression Tree) ~ LINQをより深く理解するために ~
 
MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013
MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013
MISRA-C2012とISO/IEC 9899:2011 at OSCNagoya2013
 
Synthesijer and Synthesijer.Scala in HLS-friends 201512
Synthesijer and Synthesijer.Scala in HLS-friends 201512Synthesijer and Synthesijer.Scala in HLS-friends 201512
Synthesijer and Synthesijer.Scala in HLS-friends 201512
 
asm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web gamesasm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web games
 
TypeScript と Visual Studio Code
TypeScript と Visual Studio CodeTypeScript と Visual Studio Code
TypeScript と Visual Studio Code
 
JavaScript 講習会 #1
JavaScript 講習会 #1JavaScript 講習会 #1
JavaScript 講習会 #1
 
Write good parser in perl
Write good parser in perlWrite good parser in perl
Write good parser in perl
 
ATN No.2 Scala事始め
ATN No.2 Scala事始めATN No.2 Scala事始め
ATN No.2 Scala事始め
 
20141129-dotNet2015
20141129-dotNet201520141129-dotNet2015
20141129-dotNet2015
 
Swiftおさらい
SwiftおさらいSwiftおさらい
Swiftおさらい
 
Python physicalcomputing
Python physicalcomputingPython physicalcomputing
Python physicalcomputing
 

More from Shota Baba

Unity で実装するエイジングテストのお話
Unity で実装するエイジングテストのお話Unity で実装するエイジングテストのお話
Unity で実装するエイジングテストのお話Shota Baba
 
【Visual Studio】開発効率を上げる25個の拡張機能
【Visual Studio】開発効率を上げる25個の拡張機能【Visual Studio】開発効率を上げる25個の拡張機能
【Visual Studio】開発効率を上げる25個の拡張機能Shota Baba
 
Unity エディタ拡張
Unity エディタ拡張Unity エディタ拡張
Unity エディタ拡張Shota Baba
 
知って得するUnity エディタ拡張編
知って得するUnity エディタ拡張編知って得するUnity エディタ拡張編
知って得するUnity エディタ拡張編Shota Baba
 
知って得するC# LINQ to Objects編
知って得するC# LINQ to Objects編知って得するC# LINQ to Objects編
知って得するC# LINQ to Objects編Shota Baba
 
知って得するUnity
知って得するUnity知って得するUnity
知って得するUnityShota Baba
 

More from Shota Baba (6)

Unity で実装するエイジングテストのお話
Unity で実装するエイジングテストのお話Unity で実装するエイジングテストのお話
Unity で実装するエイジングテストのお話
 
【Visual Studio】開発効率を上げる25個の拡張機能
【Visual Studio】開発効率を上げる25個の拡張機能【Visual Studio】開発効率を上げる25個の拡張機能
【Visual Studio】開発効率を上げる25個の拡張機能
 
Unity エディタ拡張
Unity エディタ拡張Unity エディタ拡張
Unity エディタ拡張
 
知って得するUnity エディタ拡張編
知って得するUnity エディタ拡張編知って得するUnity エディタ拡張編
知って得するUnity エディタ拡張編
 
知って得するC# LINQ to Objects編
知って得するC# LINQ to Objects編知って得するC# LINQ to Objects編
知って得するC# LINQ to Objects編
 
知って得するUnity
知って得するUnity知って得するUnity
知って得するUnity
 

Recently uploaded

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Recently uploaded (8)

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

知って得するC#