アンセケターメンはてなエディション

いつどこで誰に見られても恥ずかしいコードが置かれています

.NET 8で追加されたであろうAPIを知りたかった話

.NET 8で追加されたであろうAPIを知りたかったので調べた。

最初はMicrosoft Learnをスクレイピングするかと思ったのだが、よくよく考えてみれば普通にGitHubリポジトリdotnet/dotnet-api-docs)に上がってたのでこっちを解析することにした。

使用したコードを置いておく。酩酊状態でtypoしまくりながら30分くらいかけて書いた。

github.com

結果

計553クラス4237メンバがあった。そのままだと2738行もあってはてなブログの編集画面が激重になるため、System名前空間の最初の400行くらいを載せておく。(半分くらい Frozen で埋まってる気がする…)

  • System.ArgumentException
    • ThrowIfNullOrWhiteSpace
  • System.ArgumentOutOfRangeException
    • ThrowIfEqual
    • ThrowIfGreaterThan
    • ThrowIfGreaterThanOrEqual
    • ThrowIfLessThan
    • ThrowIfLessThanOrEqual
    • ThrowIfNegative
    • ThrowIfNegativeOrZero
    • ThrowIfNotEqual
    • ThrowIfZero
  • System.BinaryData
    • FromBytes
    • FromStream
    • FromStreamAsync
    • FromString
    • IsEmpty
    • Length
    • MediaType
    • WithMediaType
  • System.Boolean
    • System.IParsable<System.Boolean>.Parse
    • System.IParsable<System.Boolean>.TryParse
    • System.ISpanParsable<System.Boolean>.Parse
    • System.ISpanParsable<System.Boolean>.TryParse
  • System.Byte
    • Parse
    • TryFormat
    • TryParse
  • System.Char
    • System.IUtf8SpanFormattable.TryFormat
  • System.ConsoleKey
    • None
  • System.ConsoleModifiers
    • None
  • System.DateOnly
    • Deconstruct
    • TryFormat
  • System.DateTime
    • Deconstruct
    • TryFormat
  • System.DateTimeOffset
    • Deconstruct
    • TotalOffsetMinutes
    • TryFormat
  • System.Decimal
    • Parse
    • TryFormat
    • TryParse
  • System.Double
    • DegreesToRadians
    • Lerp
    • Parse
    • RadiansToDegrees
    • TryFormat
    • TryParse
  • System.Enum
    • System.ISpanFormattable.TryFormat
    • TryFormat
  • System.Environment
    • IsPrivilegedProcess
  • System.FakeLoggerServiceProviderExtensions
    • GetFakeLogCollector
  • System.FakeRedactionServiceProviderExtensions
    • GetFakeRedactionCollector
  • System.GC
    • RefreshMemoryLimit
    • RegisterNoGCRegionCallback
  • System.Guid
    • System.IUtf8SpanFormattable.TryFormat
    • ToByteArray
    • TryFormat
    • TryWriteBytes
  • System.Half
    • DegreesToRadians
    • Lerp
    • Parse
    • RadiansToDegrees
    • TryFormat
    • TryParse
  • System.Int128
    • Parse
    • TryFormat
    • TryParse
  • System.Int16
    • Parse
    • TryFormat
    • TryParse
  • System.Int32
    • Parse
    • TryFormat
    • TryParse
  • System.Int64
    • Parse
    • TryFormat
    • TryParse
  • System.IntPtr
    • Parse
    • TryFormat
    • TryParse
  • System.IUtf8SpanFormattable
    • TryFormat
  • System.IUtf8SpanParsable<TSelf>
    • Parse
    • TryParse
  • System.MemoryExtensions
    • AsSpan
    • ContainsAny
    • ContainsAnyExcept
    • ContainsAnyExceptInRange
    • ContainsAnyInRange
    • Count
    • IndexOfAny
    • IndexOfAnyExcept
    • IndexOfAnyExceptInRange
    • IndexOfAnyInRange
    • LastIndexOfAny
    • LastIndexOfAnyExcept
    • LastIndexOfAnyExceptInRange
    • LastIndexOfAnyInRange
    • Replace
    • Split
    • SplitAny
    • TryWrite
    • TryWrite
    • TryWrite<TArg0,TArg1>
    • TryWrite<TArg0,TArg1,TArg2>
  • System.OperatingSystem
    • IsWasi
  • System.Random
    • GetItems
    • Shuffle
  • System.SByte
    • Parse
    • TryFormat
    • TryParse
  • System.Single
    • DegreesToRadians
    • Lerp
    • Parse
    • RadiansToDegrees
    • TryFormat
    • TryParse
  • System.String
    • Format
    • Format
    • Format<TArg0,TArg1>
    • Format<TArg0,TArg1,TArg2>
    • System.IParsable<System.String>.Parse
    • System.IParsable<System.String>.TryParse
    • System.ISpanParsable<System.String>.Parse
    • System.ISpanParsable<System.String>.TryParse
  • System.TimeOnly
    • Deconstruct
    • TryFormat
  • System.TimeProvider
    • CreateTimer
    • GetElapsedTime
    • GetLocalNow
    • GetTimestamp
    • GetUtcNow
    • LocalTimeZone
    • System
    • TimestampFrequency
  • System.TimeSpan
    • TryFormat
  • System.TimeZoneInfo
    • GetSystemTimeZones
    • TryFindSystemTimeZoneById
  • System.Type
    • GetFunctionPointerCallingConventions
    • GetFunctionPointerParameterTypes
    • GetFunctionPointerReturnType
    • GetOptionalCustomModifiers
    • GetRequiredCustomModifiers
    • IsFunctionPointer
    • IsUnmanagedFunctionPointer
  • System.UInt128
    • Parse
    • TryFormat
    • TryParse
  • System.UInt16
    • Parse
    • TryFormat
    • TryParse
  • System.UInt32
    • Parse
    • TryFormat
    • TryParse
  • System.UInt64
    • Parse
    • TryFormat
    • TryParse
  • System.UIntPtr
    • Parse
    • TryFormat
    • TryParse
  • System.Uri
    • System.IFormattable.ToString
    • System.ISpanFormattable.TryFormat
    • TryFormat
  • System.Version
    • System.IUtf8SpanFormattable.TryFormat
    • TryFormat
  • System.Buffers.ArrayBufferWriter<T>
    • ResetWrittenCount
  • System.Buffers.SearchValues
    • Create
  • System.Buffers.SearchValues<T>
    • Contains
  • System.Buffers.Binary.BinaryPrimitives
    • ReadInt128BigEndian
    • ReadInt128LittleEndian
    • ReadIntPtrBigEndian
    • ReadIntPtrLittleEndian
    • ReadUInt128BigEndian
    • ReadUInt128LittleEndian
    • ReadUIntPtrBigEndian
    • ReadUIntPtrLittleEndian
    • ReverseEndianness
    • TryReadInt128BigEndian
    • TryReadInt128LittleEndian
    • TryReadIntPtrBigEndian
    • TryReadIntPtrLittleEndian
    • TryReadUInt128BigEndian
    • TryReadUInt128LittleEndian
    • TryReadUIntPtrBigEndian
    • TryReadUIntPtrLittleEndian
    • TryWriteInt128BigEndian
    • TryWriteInt128LittleEndian
    • TryWriteIntPtrBigEndian
    • TryWriteIntPtrLittleEndian
    • TryWriteUInt128BigEndian
    • TryWriteUInt128LittleEndian
    • TryWriteUIntPtrBigEndian
    • TryWriteUIntPtrLittleEndian
    • WriteInt128BigEndian
    • WriteInt128LittleEndian
    • WriteIntPtrBigEndian
    • WriteIntPtrLittleEndian
    • WriteUInt128BigEndian
    • WriteUInt128LittleEndian
    • WriteUIntPtrBigEndian
    • WriteUIntPtrLittleEndian
  • System.Buffers.Text.Base64
    • IsValid
  • System.CodeDom.Compiler.IndentedTextWriter
    • FlushAsync
  • System.Collections.BitArray
    • HasAllSet
    • HasAnySet
  • System.Collections.Frozen.FrozenDictionary
    • ToFrozenDictionary<TKey,TValue>
    • ToFrozenDictionary<TSource,TKey>
    • ToFrozenDictionary<TSource,TKey,TElement>
  • System.Collections.Frozen.FrozenDictionary<TKey,TValue>+Enumerator
    • Current
    • MoveNext
    • System.Collections.IEnumerator.Current
    • System.Collections.IEnumerator.Reset
    • System.IDisposable.Dispose
  • System.Collections.Frozen.FrozenDictionary<TKey,TValue>
    • Comparer
    • ContainsKey
    • CopyTo
    • Count
    • Empty
    • GetEnumerator
    • GetValueRefOrNullRef
    • Item
    • Keys
    • System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Add
    • System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Clear
    • System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Contains
    • System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.IsReadOnly
    • System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.Remove
    • System.Collections.Generic.IDictionary<TKey,TValue>.Add
    • System.Collections.Generic.IDictionary<TKey,TValue>.Item
    • System.Collections.Generic.IDictionary<TKey,TValue>.Keys
    • System.Collections.Generic.IDictionary<TKey,TValue>.Remove
    • System.Collections.Generic.IDictionary<TKey,TValue>.Values
    • System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>.GetEnumerator
    • System.Collections.Generic.IReadOnlyDictionary<TKey,TValue>.Item
    • System.Collections.Generic.IReadOnlyDictionary<TKey,TValue>.Keys
    • System.Collections.Generic.IReadOnlyDictionary<TKey,TValue>.Values
    • System.Collections.ICollection.CopyTo
    • System.Collections.ICollection.IsSynchronized
    • System.Collections.ICollection.SyncRoot
    • System.Collections.IDictionary.Add
    • System.Collections.IDictionary.Clear
    • System.Collections.IDictionary.Contains
    • System.Collections.IDictionary.GetEnumerator
    • System.Collections.IDictionary.IsFixedSize
    • System.Collections.IDictionary.IsReadOnly
    • System.Collections.IDictionary.Item
    • System.Collections.IDictionary.Keys
    • System.Collections.IDictionary.Remove
    • System.Collections.IDictionary.Values
    • System.Collections.IEnumerable.GetEnumerator
    • TryGetValue
    • Values
  • System.Collections.Frozen.FrozenSet
    • ToFrozenSet
  • System.Collections.Frozen.FrozenSet<T>+Enumerator
    • Current
    • MoveNext
    • System.Collections.IEnumerator.Current
    • System.Collections.IEnumerator.Reset
    • System.IDisposable.Dispose
  • System.Collections.Frozen.FrozenSet<T>
    • Comparer
    • Contains
    • CopyTo
    • Count
    • Empty
    • GetEnumerator
    • IsProperSubsetOf
    • IsProperSupersetOf
    • IsSubsetOf
    • IsSupersetOf
    • Items
    • Overlaps
    • SetEquals
    • System.Collections.Generic.ICollection.Add
    • System.Collections.Generic.ICollection.Clear
    • System.Collections.Generic.ICollection.IsReadOnly
    • System.Collections.Generic.ICollection.Remove
    • System.Collections.Generic.IEnumerable.GetEnumerator
    • System.Collections.Generic.ISet.Add
    • System.Collections.Generic.ISet.ExceptWith
    • System.Collections.Generic.ISet.IntersectWith
    • System.Collections.Generic.ISet.SymmetricExceptWith
    • System.Collections.Generic.ISet.UnionWith
    • System.Collections.ICollection.CopyTo
    • System.Collections.ICollection.IsSynchronized
    • System.Collections.ICollection.SyncRoot
    • System.Collections.IEnumerable.GetEnumerator
    • TryGetValue
  • System.Collections.Generic.CollectionExtensions
    • AddRange
    • CopyTo
    • InsertRange
  • System.Collections.Generic.Dictionary<TKey,TValue>+KeyCollection
    • Contains
  • System.Collections.Generic.EqualityComparer<T>
    • Create
  • System.Collections.Generic.List<T>
    • Slice
  • System.Collections.Generic.PriorityQueue<TElement,TPriority>
    • DequeueEnqueue
  • System.Collections.Generic.SortedDictionary<TKey,TValue>+KeyCollection
    • Contains
  • System.Collections.Immutable.ImmutableArray<T>+Builder
    • DrainToImmutable
  • System.Collections.Immutable.ImmutableArray<T>
    • Contains
  • System.Collections.Immutable.ImmutableHashSet
    • Create
  • System.Collections.Immutable.ImmutableList
    • Create
  • System.Collections.Immutable.ImmutableQueue
    • Create
  • System.Collections.Immutable.ImmutableSortedSet
    • Create
  • System.Collections.Immutable.ImmutableStack
    • Create
  • System.Collections.ObjectModel.ReadOnlyCollection<T>
    • Empty
  • System.Collections.ObjectModel.ReadOnlyDictionary<TKey,TValue>+KeyCollection
    • Contains
  • System.Collections.ObjectModel.ReadOnlyDictionary<TKey,TValue>
    • Empty
  • System.Collections.ObjectModel.ReadOnlyObservableCollection<T>
    • Empty
  • System.ComponentModel.DataAnnotations.AllowedValuesAttribute
    • IsValid
    • Values
  • System.ComponentModel.DataAnnotations.Base64StringAttribute
    • IsValid
  • System.ComponentModel.DataAnnotations.DeniedValuesAttribute
    • IsValid
    • Values
  • System.ComponentModel.DataAnnotations.LengthAttribute
    • FormatErrorMessage
    • IsValid
    • MaximumLength
    • MinimumLength
  • System.ComponentModel.DataAnnotations.RangeAttribute
    • MaximumIsExclusive
    • MinimumIsExclusive