タグ

ブックマーク / ufcpp.net (3)

  • UTF8 か Utf8 か

    今日は C# 配信をやっててちょくちょく話題になるやつの話。 using System.Text; using System.Text.Unicode; var buffer = (stackalloc byte[3]); Utf8.FromUtf16("abc", buffer, out var r, out var w); Encoding.UTF8.GetString(buffer[..w]); Utf8 なの? UTF8 なの? (昔1回同じ話題でブログ書いた気がしつつ、最近もまた話題に出たので。) .NET の命名ガイドライン .NET には命名規約に関するガイドラインがありまして、以下の場所にドキュメントとして残っています。 Capitalization Rules for Identifiers おおむね以下のようなルール。 クラス名などは PacalCase を使ってくださ

    UTF8 か Utf8 か
    Ehren
    Ehren 2025/01/02
  • 互換性の維持 - C# によるプログラミング入門 | ++C++; // 未確認飛行 C

    概要 C# は後方互換性に非常に注意を払っています。 C# 自身についても、C# のバージョンを上げることで動かなくなるコードが出ないように気を付けて機能追加をしていますし、 C# で書かれたライブラリについても、ライブラリ内の改修がライブラリ利用側で問題になりにくいように気を使って文法を決めています。 C# 自体の後方互換性 プログラミング言語に機能を追加する際、既存のプログラム コードがそのままコンパイルできるように互換性を保つことは非常に重要です。 文脈キーワード C# 2.0 以降で追加されたキーワードは、全て文脈キーワード(contexual keyword) というものになっています。通常のキーワードとは違って、特定の文脈でしかキーワード扱いされません。 文脈キーワードの作り方にも数パターンがありますが、いくつか例を挙げて見ましょう。 yield: 2単語で初めてキーワード扱い

    互換性の維持 - C# によるプログラミング入門 | ++C++; // 未確認飛行 C
    Ehren
    Ehren 2020/12/10
  • Commonly Rejected Changes

    twitterで見かけた話。きっかけはSwiftのものなんですが、「Commonly Rejected Changes」、つまり、「頻繁にリジェクトされる変更の提案」集がまとめられてるみたいです。これを見た感想は「ああ、あるある、C#でもよくある」だったので、それをネタにしてみようかと。 {} をやめて、Python風のインデント構文がほしい これ、SwiftやC#に限らずありとあらゆるプログラミング言語で発生すると思うんですが、必ず出てくるんですよね、インデントでブロックを切る構文を求めてくる人。SwiftにしろC#にしろ、基方針として「空白文字を除外しても意味が変わらない」を採用している言語に対してそういう要求をされましても… まあ、Swiftは「空白を抜いたら意味が変わる」構文あるんですけどね。?:の?の前にスペースを入れないと、型名?の?と区別がつかないそうで。 それを言い出すと

    Commonly Rejected Changes
    Ehren
    Ehren 2016/01/04
  • 1