滅入るんるん

何か書きます

Kotlin使いのためのC#入門

ページタイトル通り、Kotlin使いのためのC#入門です。 Kotlinのこの構文はC#ならどう書くの?を解決していこうという感じで書き始めていこうと思っています。

KotlinとC#の決定的な違い

  • C言語ファミリーな構文である
    • 型の宣言が前置である
    • セミコロンが必要
  • Top-levelにグローバルなものを宣言できない
  • すべての型はobjectを継承している

KotlinになくてC#にあるもの

  • 構造体がある
  • ポインターがある
  • ポインターを安全にした参照(ref)がある
    • 参照渡しがある
  • デリゲートがある(Kotlinのデリゲートとは違う機能)
  • イベントがある

C#になくてKotlinにあるもの

  • 拡張プロパティ
  • レシーバー付きラムダ
  • Delegated Property/Delegation
  • インライン関数
  • data class
  • sealed class(C#のsealedとは違う機能)
  • infix operator

以上、思いついた基本的な違いをてきとーにあげました。 以降は、それらを踏まえつつ説明していこうと思います。


機能を説明していくうえでどういう順番で書いていけばわかりやすいか全くわからないので、まずはKotlinのリファレンスの順番に書いていきます。

Overview

Getting Started

  • Basic Syntax
  • Idioms
  • Coding Conventions

Basics

Classes and Objects

Functions and Lambdas