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

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 

Recently uploaded (8)

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 

知って得するC#