Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
「var禁止」禁止
Search
RyotaMurohoshi
February 20, 2016
Technology
0
16
「var禁止」禁止
2016/02/20 Hokuriku Comm CampのLTで発表した際のプレゼンテーションスライドです。
RyotaMurohoshi
February 20, 2016
Tweet
Share
More Decks by RyotaMurohoshi
See All by RyotaMurohoshi
Tilemapのアップデートについて
ryotamurohoshi
0
46
Unityの合同同人誌や合同商業誌を書いてる僕は感想やレビューや評価が欲しい
ryotamurohoshi
0
550
Unity 2021.1での Unityパッケージの名称変更について
ryotamurohoshi
0
740
Odin Validationはいいぞ!
ryotamurohoshi
2
1k
Tilemapはいいぞ!2020 〜すごいぞ、プロジェクト専用拡張Brush〜
ryotamurohoshi
0
2.4k
Unityでも、新しいC#
ryotamurohoshi
0
1.4k
Riderはいいぞ!
ryotamurohoshi
1
3.6k
Riderのススメ〜俺はRiderここが好き〜
ryotamurohoshi
1
2.5k
Unity開発者に伝えたい.NETのこと
ryotamurohoshi
4
38k
Other Decks in Technology
See All in Technology
エンタメとAIのための3Dパラレルワールド構築(GPU UNITE 2025 特別講演)
pfn
PRO
0
330
AWS Control Tower に学ぶ! IAM Identity Center 権限設計の第一歩 / IAM Identity Center with Control Tower
y___u
0
170
能登半島地震において デジタルができたこと・できなかったこと
ditccsugii
0
200
Wasmのエコシステムを使った ツール作成方法
askua
0
170
Data Hubグループ 紹介資料
sansan33
PRO
0
2.2k
オープンソースでどこまでできる?フォーマル検証チャレンジ
msyksphinz
0
140
[Keynote] What do you need to know about DevEx in 2025
salaboy
0
170
プレーリーカードを活用しよう❗❗デジタル名刺交換からはじまるイベント会場交流のススメ
tsukaman
0
160
20251010_HCCJP_AdaptiveCloudUpdates
sdosamut
0
130
Claude Codeを駆使した初めてのiOSアプリ開発 ~ゼロから3週間でグローバルハッカソンで入賞するまで~
oikon48
9
3.8k
小学4年生夏休みの自由研究「ぼくと Copilot エージェント」
taichinakamura
0
720
20251007: What happens when multi-agent systems become larger? (CyberAgent, Inc)
ornew
1
290
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Documentation Writing (for coders)
carmenintech
75
5.1k
Designing Experiences People Love
moore
142
24k
Optimizing for Happiness
mojombo
379
70k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
4 Signs Your Business is Dying
shpigford
185
22k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Scaling GitHub
holman
463
140k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Gamification - CAS2011
davidbonilla
81
5.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Thoughts on Productivity
jonyablonski
70
4.9k
Transcript
ʮvarېࢭʯېࢭ @RyotaMurohoshi 2016/02/20()(Hokuriku(ComCamp(2016(powered(by(MVPs
C#Λॻ͍͍ͯͯɺ͜Μͳ͜ͱ ݴΘΕͨ͜ͱͳ͍Ͱ͔͢ʁ
ʮvar͏ͷېࢭͳʂʯ
ࣗݾհ @RyotaMurohoshiͰ͢
ઍ༿ݝദࢢ͔Β͖·ͨ͠
࣮Ո৽ׁݝͰ͢
UnityΫϥελ͔Β͖·ͨ͠
Ξϯέʔτʂ
C#er%!? ͬͨ͜ͱ͋Δਓʂʁ
ʮvarʯ͕Կ͔Θ͔Δ$!? C#erͳΒΘ͔ΔΑͶʂʁ
Javaॻ͘Αͬͯͻͱ$!?
ʮvarېࢭʯݴΘΕͨ͜ͱ͋Δ$!? ͭΒ͍orz
͋Γ͕ͱ͏͍͟͝·ͨ͠
C#ͷศརͳݴޠػೳͷʮvarʯ ੈͷதʹɺͦΕΛݏ͏ɾΘͳ͍ਓ͕͍ΔΒ͍͠Ͱ͢
ͦΕΛΘͳ͍ͳΜͯͱΜͰͳ͍
ʮvarʯͪΌΜͱ͓͏ͥ
ʮvarېࢭʯېࢭ
ͦΕͰʮvarېࢭʯͬͯݴΘΕͨ࣌ͷ ͍͍ײ͡ͷฦ͠Λߟ͍͖͑ͯ·͠ΐ͏ʂ
έʔε1 ʮvarɺܕ͕ͳͯ͘ΩϞ͍͔Βېࢭͳʂʯ ͬͯݴΘΕΔ
έʔε1ͷݪҼ varΛͪΌΜͱཧղ͍ͯ͠ͳ͍
ʮvarͱʁʯ ҉తʹܕࢦఆ͞ΕΔϩʔΧϧม from%MSDN%h+ps:/ /msdn.microso5.com/ja8jp/library/bb384061.aspx
҉తʹܕࢦఆ͞ΕΔϩʔΧϧม
varɺܕ͋Γ·͢ʂ ໌ࣔతʹมͷܕΛॻ͔ͳ͍͚ͩʂ
// ໌ࣔతʹมͷܕΛॻ͍͍ͯΔ string name = "RyotaMurohoshi"; // =ͷӈล͕จࣈྻϦςϥϧ͔ͩΒstringܕ var title
= "ʮvarېࢭʯېࢭ";
varɺ͔͚ͯ͘ૉఢΜʂ // ΞϗΈ͍ͨʹ͍ܕ໊(ۃ)Λ2ճॻ͘ʂʁ Dictionary<HogeFuga, List<PiyoPiyoPiyo>> dictionary = new Dictionary<HogeFuga, List<PiyoPiyoPiyo>>();
// 1ճॻ͚͍͍ΑͶ var dictionary = new Dictionary<HogeFuga, List<PiyoPiyoPiyo>>(); Θ͟Θ͟ಉ͜͡ͱɺ2ճॻ͘ඞཁͳ͍ΑͶ
έʔε1·ͱΊ varʹܕ͕͋Δɺ໌ࣔతʹͳͬͯͳ͍͚ͩͰɻ ʮvarɺܕ͕ͳͯ͘ΩϞ͍͔Βېࢭͳʂʯͬͯ ݴΘΕͨ߹ɺ૬खvarΛצҧ͍͍ͯ͠Δ͔Βڭ͑ͯ͋͛Α͏ʂ
͖ͭͮ·ͯ͠...
έʔε2 ʮvarɺԿͷܕ͔͔Γʹ͍͔͘Βېࢭͳʂʯ ͬͯݴΘΕΔ
έʔε2ͷݪҼ varͷཚ༻ɻదʹvarΛ͍ͬͯͳ͍ͨΊɻ
(Զ͕ࢥ͏)#varͷྑ͘ͳ͍ར༻ྫ ʮͳΜͩΑɺ͜ͷϝιουͷฦΓͷܕʯͬͯͳΔʂ ɹ var result = GetResults();
varͷཚ༻orz
varΛͬͯܕ͕Θ͔Δ࣌ʹɺ varΛ͓͏ʂ
(Զ͕ࢥ͏)#varͷྑ͍ར༻ྫ // =ͷӈล͕Ϧςϥϧ var level = 27; var name =
"Ryota"; // =ͷӈล͕ίϯετϥΫλ or ϑΝΫτϦϝιου var playerData = new PlayerData(level, name); // =ͷӈล͕δΣωϦοΫϝιουͰܕҾ͕ฦΓܕͳ // ϝδϟʔͳϝιου(࣍ͷUnityͰྑ͘͏ͭ) var player = FindObjectOfType<Player>();
ʮΘ͟Θ͟ೋճॻ͔ͳͯ͘ӈล͔Βܕ͕Θ͔Δ͡ΌΜʯ ͱ͍͏߹varͰεοΩϦɻ
έʔε2·ͱΊ ʮvarɺԿͷܕ͔͔Γʹ͍͔͘Βېࢭͳʂʯͬͯ ͔֬ʹཚ༻͢ΔͱಡΈͮΒ͘ͳΔ͜ͱ͋Δɻ ಡΈ͘͢ͳΔ໘Ͱ͏ϧʔϧΛަব͠·͠ΐ͏ʂ
͖ͭͮ·ͯ͠...
έʔε3 ʮvarɺList<string>͕IList<string>ʹ ͳͬͯ͘Εͳ͍͔Βېࢭͳʯ ͬͯݴΘΕͨ
έʔε3ͷݪҼ JavaͰͷܦݧ͕ཧ༝ʢ͔ʁʣ ͜ͷύλʔϯ͕Ұ൪հ
varͷӈล͕List<string>ܕ͔ͩΒɺlistͷܕList<string>ʹɻ ɹ var list = new List<string>();
ࠓ͔ΒνϣοτJavaͷ
JavaͷίʔυͰ͢ // Լهͷॻ͖ํྑ͘ͳ͍ ArrayList<String> list = new ArrayList<String>(); // Լهͷॻ͖ํΛ͖͢
List<String> list = new ArrayList<String>(); // μΠϠϞϯυԋࢉࢠͰ͔͚͘Δ List<String> list = new ArrayList<>();
JavaͰμΠϠϞϯυԋࢉࢠΛ͔͍ͭɺهड़Λলུͭͭ͠ ʮϩʔΧϧมʯΛநతͳܕͰѻ͏͜ͱ͕Ͱ͖Δ
͜Εʹ׳Εͨਓ͜͏ࢥ͏߹͕͋ΔΈ͍ͨ ʮvarɺList<string>͕IList<string>ʹ ͳͬͯ͘Εͳ͍͔Βېࢭͳʯ
JavaɺμΠϠϞϯυԋࢉࢠͰهड़Λলུͭͭ͠ListΠϯλʔϑΣʔεܕͷมͰѻ͑Δ // Java List<String> list = new ArrayList<>(); C#ͷvarͷ߹ɺIList<string>ΠϯλʔϑΣʔεʹͳΒͳ͍ɻList<string>ΫϥεʹͳΔɻ //
C# var list = new List<string>();
͔֬ʹϝιουͷҾฦΓͷܕΛ దʹநతͳܕͰѻ͏ͷେ // ྑ͘ͳ͍ྫ(Java) public ArrayList<string> loadList(){ /*தུ*/ } //
վળྫ(Java) public List<string> loadList(){ /*தུ*/ }
͚ΕͲʮvarɺList<string>ΫϥεͷΦϒδΣΫτ͕ IList<string>ΠϯλʔϑΣʔεͷมʹͳΒͳ͍͔Βېࢭʯ ؒҧ͍ͬͯΔͱࢥ͏
var͕͑Δͷ ϩʔΧϧม͚ͩʂ
ϩʔΧϧมΛநܕͰѻ͏ͷͦΜͳʹେࣄʁ ઈରඞཁʁ
ϩʔΧϧมͳΒείʔϓด͍ͯͯ͡ɺ ͔͔ͨͩߦɺͯ͘2,30ߦ
varͰ͔͚͘Δ͜ͱͱɺ ͘ดͨ͡είʔϓͰϩʔΧϧมΛநతͳܕͰѻ͏͜ͱ Ͳ͕ͬͪେࣄͩΖ͏ʁ
varͰ͔͚͘Δํ͕ ͍͍ΑͶʂ
͔ͨ͠͠Β ʮJavaͰ͜͏͔ͩΒɺC#Ͱ͜͏͡Όͳ͖Όμϝʯ ػցతʹஅͯ͠Δ͔͠Εͳ͍orz
ʲಓʳʮvarɺList<string>͕IList<string>ʹͳͬͯ͘Εͳ͍͔Βېࢭͳʯ͍ͬͯ͏ਓͦ͏ʲภݟʳ ྻIList<T>࣮͍ͯ͠ΔͷΒͳͦ͏ɻ IReadOnlyList<T>ͱ͔͍͍͑ͷʹΒͳͦ͏ɻ
έʔε3·ͱΊ ʮvarɺList<string>͕IList<string>ʹͳͬͯ͘Εͳ͍͔Βېࢭͳʯ ͱݴΘΕͨΒɺϩʔΧϧมͰநతͳܕͰѻ͏ϝϦοτͱ ͘هड़Ͱ͖Δ͜ͱͷϝϦοτɺͲͪΒ͕େࣄ͔͠߹͓͏ɻ ͦͯ͠উͯʂࠓॻ͍ͯΜͷJava͡Όͳͯ͘C#ͩʂ
࠷ޙʹ • ࠓ͍ɺKotlinSwi*Ͱvar!(ͱ͔valͱ͔let) • varɺ͓͏ͥ • varɺదʹਖ਼͓͘͠͏ͥʂཚ༻μϝͳʂ • ʮvarېࢭʯېࢭͳʂʂʂ
ʮvarېࢭʯېࢭ @RyotaMurohoshi 2016/02/20()(Hokuriku(ComCamp(2016(powered(by(MVPs
ิ
ͦͷ4 ʮvar͏ͱΠϯλʔϑΣʔεܕͷมʹͳΒͳ͍͔Β ໌ࣔతͳ࣮͍ͯ͠Δϝιουݺͳ͘ͳΔ͡ΌΜʯ ͬͯݴΘΕͨΒʁ
ͦͦ͞ɺΫϥε͕Θ͔͍ͬͯΔͷʹ ΠϯλʔϑΣʔεͷ໌ࣔత࣮͍ͯ͠Δϝιου ݺͿඞཁ͋Δͷʁ