Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
mscorlib.dll
Namespace System
Type Changed: System.BitConverter
Added method:
public static int ToInt32 (System.ReadOnlySpan<byte> value);
Type Changed: System.Int32
Added method:
public bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, IFormatProvider provider);
Type Changed: System.String
Added constructor:
public String (System.ReadOnlySpan<char> value);
Added methods:
public bool Contains (char value);
public bool Contains (char value, StringComparison comparisonType);
public bool Contains (string value, StringComparison comparisonType);
public bool EndsWith (char value);
public int GetHashCode (StringComparison comparisonType);
public int IndexOf (char value, StringComparison comparisonType);
public static string Join<T> (char separator, System.Collections.Generic.IEnumerable<T> values);
public static string Join (char separator, object[] values);
public static string Join (char separator, string[] value);
public static string Join (char separator, string[] value, int startIndex, int count);
public string Replace (string oldValue, string newValue, StringComparison comparisonType);
public string Replace (string oldValue, string newValue, bool ignoreCase, Globalization.CultureInfo culture);
public string[] Split (char separator, StringSplitOptions options);
public string[] Split (string separator, StringSplitOptions options);
public string[] Split (char separator, int count, StringSplitOptions options);
public string[] Split (string separator, int count, StringSplitOptions options);
public bool StartsWith (char value);
public string Trim (char trimChar);
public string TrimEnd ();
public string TrimEnd (char trimChar);
public string TrimStart ();
public string TrimStart (char trimChar);
public static System.ReadOnlySpan<char> op_Implicit (string value);
Type Changed: System.StringComparer
Added method:
public static StringComparer FromComparison (StringComparison comparisonType);
New Type: System.MemoryExtensions
public static class MemoryExtensions {
// methods
public static System.ReadOnlySpan<byte> AsBytes<T> (this System.ReadOnlySpan<T> source);
public static System.Span<byte> AsBytes<T> (this System.Span<T> source);
public static System.ReadOnlyMemory<T> AsReadOnlyMemory<T> (this System.Memory<T> memory);
public static System.ReadOnlyMemory<char> AsReadOnlyMemory (this string text);
public static System.ReadOnlyMemory<char> AsReadOnlyMemory (this string text, int start);
public static System.ReadOnlyMemory<char> AsReadOnlyMemory (this string text, int start, int length);
public static System.ReadOnlySpan<T> AsReadOnlySpan<T> (this System.ArraySegment<T> arraySegment);
public static System.ReadOnlySpan<T> AsReadOnlySpan<T> (this System.Span<T> span);
public static System.ReadOnlySpan<char> AsReadOnlySpan (this string text);
public static System.ReadOnlySpan<T> AsReadOnlySpan<T> (this T[] array);
public static System.ReadOnlySpan<char> AsReadOnlySpan (this string text, int start);
public static System.ReadOnlySpan<char> AsReadOnlySpan (this string text, int start, int length);
public static System.Span<T> AsSpan<T> (this System.ArraySegment<T> arraySegment);
public static System.ReadOnlySpan<char> AsSpan (this string text);
public static System.Span<T> AsSpan<T> (this T[] array);
public static int BinarySearch<T> (this System.ReadOnlySpan<T> span, System.IComparable<T> comparable);
public static int BinarySearch<T, TComparable> (this System.ReadOnlySpan<T> span, TComparable comparable);
public static int BinarySearch<T> (this System.Span<T> span, System.IComparable<T> comparable);
public static int BinarySearch<T, TComparable> (this System.Span<T> span, TComparable comparable);
public static int BinarySearch<T, TComparer> (this System.ReadOnlySpan<T> span, T value, TComparer comparer);
public static int BinarySearch<T, TComparer> (this System.Span<T> span, T value, TComparer comparer);
public static void CopyTo<T> (this T[] array, System.Memory<T> destination);
public static void CopyTo<T> (this T[] array, System.Span<T> destination);
public static bool EndsWith<T> (this System.ReadOnlySpan<T> span, System.ReadOnlySpan<T> value);
public static bool EndsWith<T> (this System.Span<T> span, System.ReadOnlySpan<T> value);
public static int IndexOf<T> (this System.ReadOnlySpan<T> span, System.ReadOnlySpan<T> value);
public static int IndexOf<T> (this System.ReadOnlySpan<T> span, T value);
public static int IndexOf<T> (this System.Span<T> span, System.ReadOnlySpan<T> value);
public static int IndexOf<T> (this System.Span<T> span, T value);
public static int IndexOfAny<T> (this System.ReadOnlySpan<T> span, System.ReadOnlySpan<T> values);
public static int IndexOfAny<T> (this System.Span<T> span, System.ReadOnlySpan<T> values);
public static int IndexOfAny<T> (this System.ReadOnlySpan<T> span, T value0, T value1);
public static int IndexOfAny<T> (this System.Span<T> span, T value0, T value1);
public static int IndexOfAny<T> (this System.ReadOnlySpan<T> span, T value0, T value1, T value2);
public static int IndexOfAny<T> (this System.Span<T> span, T value0, T value1, T value2);
public static int LastIndexOf<T> (this System.ReadOnlySpan<T> span, System.ReadOnlySpan<T> value);
public static int LastIndexOf<T> (this System.ReadOnlySpan<T> span, T value);
public static int LastIndexOf<T> (this System.Span<T> span, System.ReadOnlySpan<T> value);
public static int LastIndexOf<T> (this System.Span<T> span, T value);
public static int LastIndexOfAny<T> (this System.ReadOnlySpan<T> span, System.ReadOnlySpan<T> values);
public static int LastIndexOfAny<T> (this System.Span<T> span, System.ReadOnlySpan<T> values);
public static int LastIndexOfAny<T> (this System.ReadOnlySpan<T> span, T value0, T value1);
public static int LastIndexOfAny<T> (this System.Span<T> span, T value0, T value1);
public static int LastIndexOfAny<T> (this System.ReadOnlySpan<T> span, T value0, T value1, T value2);
public static int LastIndexOfAny<T> (this System.Span<T> span, T value0, T value1, T value2);
public static System.ReadOnlySpan<TTo> NonPortableCast<TFrom, TTo> (this System.ReadOnlySpan<TFrom> source);
public static System.Span<TTo> NonPortableCast<TFrom, TTo> (this System.Span<TFrom> source);
public static bool Overlaps<T> (this System.ReadOnlySpan<T> first, System.ReadOnlySpan<T> second);
public static bool Overlaps<T> (this System.Span<T> first, System.ReadOnlySpan<T> second);
public static bool Overlaps<T> (this System.ReadOnlySpan<T> first, System.ReadOnlySpan<T> second, out int elementOffset);
public static bool Overlaps<T> (this System.Span<T> first, System.ReadOnlySpan<T> second, out int elementOffset);
public static void Reverse<T> (this System.Span<T> span);
public static int SequenceCompareTo<T> (this System.ReadOnlySpan<T> first, System.ReadOnlySpan<T> second);
public static int SequenceCompareTo<T> (this System.Span<T> first, System.ReadOnlySpan<T> second);
public static bool SequenceEqual<T> (this System.ReadOnlySpan<T> first, System.ReadOnlySpan<T> second);
public static bool SequenceEqual<T> (this System.Span<T> first, System.ReadOnlySpan<T> second);
public static bool StartsWith<T> (this System.ReadOnlySpan<T> span, System.ReadOnlySpan<T> value);
public static bool StartsWith<T> (this System.Span<T> span, System.ReadOnlySpan<T> value);
public static bool TryGetString (this System.ReadOnlyMemory<char> readOnlyMemory, out string text, out int start, out int length);
}
New Type: System.Memory`1
public struct Memory`1 {
// constructors
public Memory`1 (T[] array);
public Memory`1 (T[] array, int start, int length);
// properties
public static System.Memory<T> Empty { get; }
public bool IsEmpty { get; }
public int Length { get; }
public System.Span<T> Span { get; }
// methods
public void CopyTo (System.Memory<T> destination);
public bool Equals (System.Memory<T> other);
public override bool Equals (object obj);
public override int GetHashCode ();
public Buffers.MemoryHandle Retain (bool pin);
public System.Memory<T> Slice (int start);
public System.Memory<T> Slice (int start, int length);
public T[] ToArray ();
public bool TryCopyTo (System.Memory<T> destination);
public bool TryGetArray (out System.ArraySegment<T> arraySegment);
public static System.Memory<T> op_Implicit (System.ArraySegment<T> arraySegment);
public static System.ReadOnlyMemory<T> op_Implicit (System.Memory<T> memory);
public static System.Memory<T> op_Implicit (T[] array);
}
New Type: System.ReadOnlyMemory`1
public struct ReadOnlyMemory`1 {
// constructors
public ReadOnlyMemory`1 (T[] array);
public ReadOnlyMemory`1 (T[] array, int start, int length);
// properties
public static System.ReadOnlyMemory<T> Empty { get; }
public bool IsEmpty { get; }
public int Length { get; }
public System.ReadOnlySpan<T> Span { get; }
// methods
public void CopyTo (System.Memory<T> destination);
public override bool Equals (object obj);
public bool Equals (System.ReadOnlyMemory<T> other);
public override int GetHashCode ();
public Buffers.MemoryHandle Retain (bool pin);
public System.ReadOnlyMemory<T> Slice (int start);
public System.ReadOnlyMemory<T> Slice (int start, int length);
public T[] ToArray ();
public bool TryCopyTo (System.Memory<T> destination);
public static System.ReadOnlyMemory<T> op_Implicit (System.ArraySegment<T> arraySegment);
public static System.ReadOnlyMemory<T> op_Implicit (T[] array);
}
New Type: System.ReadOnlySpan`1
public struct ReadOnlySpan`1 {
// constructors
public ReadOnlySpan`1 (T[] array);
public ReadOnlySpan`1 (void* pointer, int length);
public ReadOnlySpan`1 (T[] array, int start, int length);
// properties
public static System.ReadOnlySpan<T> Empty { get; }
public bool IsEmpty { get; }
public T& modreq(System.Runtime.InteropServices.InAttribute) Item { get; }
public int Length { get; }
// methods
public void CopyTo (System.Span<T> destination);
public static System.ReadOnlySpan<T> DangerousCreate (object obj, ref T objectData, int length);
[Obsolete ("Equals() on ReadOnlySpan will always throw an exception. Use == instead.")]
public override bool Equals (object obj);
public System.ReadOnlySpan<Enumerator[T> GetEnumerator ();
[Obsolete ("GetHashCode() on ReadOnlySpan will always throw an exception.")]
public override int GetHashCode ();
public System.ReadOnlySpan<T> Slice (int start);
public System.ReadOnlySpan<T> Slice (int start, int length);
public T[] ToArray ();
public bool TryCopyTo (System.Span<T> destination);
public static bool op_Equality (System.ReadOnlySpan<T> left, System.ReadOnlySpan<T> right);
public static System.ReadOnlySpan<T> op_Implicit (System.ArraySegment<T> arraySegment);
public static System.ReadOnlySpan<T> op_Implicit (T[] array);
public static bool op_Inequality (System.ReadOnlySpan<T> left, System.ReadOnlySpan<T> right);
// inner types
public struct Enumerator {
// properties
public T& modreq(System.Runtime.InteropServices.InAttribute) Current { get; }
// methods
public bool MoveNext ();
}
}
New Type: System.Span`1
public struct Span`1 {
// constructors
public Span`1 (T[] array);
public Span`1 (void* pointer, int length);
public Span`1 (T[] array, int start, int length);
// properties
public static System.Span<T> Empty { get; }
public bool IsEmpty { get; }
public T Item { get; }
public int Length { get; }
// methods
public void Clear ();
public void CopyTo (System.Span<T> destination);
public static System.Span<T> DangerousCreate (object obj, ref T objectData, int length);
[Obsolete ("Equals() on Span will always throw an exception. Use == instead.")]
public override bool Equals (object obj);
public void Fill (T value);
public System.Span<Enumerator[T> GetEnumerator ();
[Obsolete ("GetHashCode() on Span will always throw an exception.")]
public override int GetHashCode ();
public System.Span<T> Slice (int start);
public System.Span<T> Slice (int start, int length);
public T[] ToArray ();
public bool TryCopyTo (System.Span<T> destination);
public static bool op_Equality (System.Span<T> left, System.Span<T> right);
public static System.Span<T> op_Implicit (System.ArraySegment<T> arraySegment);
public static System.ReadOnlySpan<T> op_Implicit (System.Span<T> span);
public static System.Span<T> op_Implicit (T[] array);
public static bool op_Inequality (System.Span<T> left, System.Span<T> right);
// inner types
public struct Enumerator {
// properties
public T Current { get; }
// methods
public bool MoveNext ();
}
}
Namespace System.Buffers
New Type: System.Buffers.OwnedMemory`1
public abstract class OwnedMemory`1 : IRetainable, System.IDisposable {
// constructors
protected OwnedMemory`1 ();
// properties
public virtual bool IsDisposed { get; }
protected virtual bool IsRetained { get; }
public virtual int Length { get; }
public System.Memory<T> Memory { get; }
public virtual System.Span<T> Span { get; }
// methods
public virtual void Dispose ();
protected virtual void Dispose (bool disposing);
public virtual MemoryHandle Pin (int offset);
public virtual bool Release ();
public virtual void Retain ();
protected virtual bool TryGetArray (out System.ArraySegment<T> arraySegment);
}
New Type: System.Buffers.StandardFormat
public struct StandardFormat, System.IEquatable<StandardFormat> {
// constructors
public StandardFormat (char symbol, byte precision);
// fields
public static const byte MaxPrecision;
public static const byte NoPrecision;
// properties
public bool HasPrecision { get; }
public bool IsDefault { get; }
public byte Precision { get; }
public char Symbol { get; }
// methods
public virtual bool Equals (StandardFormat other);
public override bool Equals (object obj);
public override int GetHashCode ();
public static StandardFormat Parse (System.ReadOnlySpan<char> format);
public static StandardFormat Parse (string format);
public override string ToString ();
public static bool op_Equality (StandardFormat left, StandardFormat right);
public static StandardFormat op_Implicit (char symbol);
public static bool op_Inequality (StandardFormat left, StandardFormat right);
}
Namespace System.Collections
Type Changed: System.Collections.BitArray
Added methods:
public BitArray LeftShift (int count);
public BitArray RightShift (int count);
Namespace System.Collections.ObjectModel
Type Changed: System.Collections.ObjectModel.KeyedCollection`2
Added method:
public bool TryGetValue (TKey key, out TItem item);
Namespace System.Globalization
New Type: System.Globalization.GlobalizationExtensions
public static class GlobalizationExtensions {
// methods
public static System.StringComparer GetStringComparer (this CompareInfo compareInfo, CompareOptions options);
}
Namespace System.IO
Type Changed: System.IO.Stream
Added methods:
public virtual int Read (System.Span<byte> destination);
public virtual System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> destination, System.Threading.CancellationToken cancellationToken);
public virtual void Write (System.ReadOnlySpan<byte> source);
public virtual System.Threading.Tasks.Task WriteAsync (System.ReadOnlyMemory<byte> source, System.Threading.CancellationToken cancellationToken);
Namespace System.Reflection
Type Changed: System.Reflection.BindingFlags
Added value:
DoNotWrapExceptions = 33554432,
Namespace System.Reflection.Emit
New Type: System.Reflection.Emit.DynamicMethod
public abstract class DynamicMethod : System.Reflection.MethodInfo, System.Reflection.ICustomAttributeProvider, System.Runtime.InteropServices._MemberInfo, System.Runtime.InteropServices._MethodBase {
// constructors
public DynamicMethod (string name, System.Type returnType, System.Type[] parameterTypes);
public DynamicMethod (string name, System.Type returnType, System.Type[] parameterTypes, bool restrictedSkipVisibility);
public DynamicMethod (string name, System.Type returnType, System.Type[] parameterTypes, System.Reflection.Module m);
public DynamicMethod (string name, System.Type returnType, System.Type[] parameterTypes, System.Type owner);
public DynamicMethod (string name, System.Type returnType, System.Type[] parameterTypes, System.Reflection.Module m, bool skipVisibility);
public DynamicMethod (string name, System.Type returnType, System.Type[] parameterTypes, System.Type owner, bool skipVisibility);
public DynamicMethod (string name, System.Reflection.MethodAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] parameterTypes, System.Reflection.Module m, bool skipVisibility);
public DynamicMethod (string name, System.Reflection.MethodAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] parameterTypes, System.Type owner, bool skipVisibility);
// properties
public override System.Reflection.MethodAttributes Attributes { get; }
public override System.Reflection.CallingConventions CallingConvention { get; }
public override System.Type DeclaringType { get; }
public bool InitLocals { get; set; }
public override System.Reflection.MethodImplAttributes MethodImplementationFlags { get; }
public override string Name { get; }
public override System.Reflection.ParameterInfo ReturnParameter { get; }
public override System.Type ReturnType { get; }
// methods
public ILGenerator GetILGenerator ();
public ILGenerator GetILGenerator (int streamSize);
public override System.Reflection.ParameterInfo[] GetParameters ();
}
Namespace System.Runtime
New Type: System.Runtime.ProfileOptimization
public static class ProfileOptimization {
// methods
public static void SetProfileRoot (string directoryPath);
public static void StartProfile (string profile);
}
Namespace System.Runtime.CompilerServices
Type Changed: System.Runtime.CompilerServices.ConditionalWeakTable`2
Added interfaces:
System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey,TValue>>
System.Collections.IEnumerable
Namespace System.Runtime.InteropServices
New Type: System.Runtime.InteropServices.MemoryMarshal
public static class MemoryMarshal {
// methods
public static System.Memory<T> AsMemory<T> (System.ReadOnlyMemory<T> readOnlyMemory);
public static T GetReference<T> (System.ReadOnlySpan<T> span);
public static T GetReference<T> (System.Span<T> span);
public static bool TryGetArray<T> (System.ReadOnlyMemory<T> readOnlyMemory, out System.ArraySegment<T> arraySegment);
}
Namespace System.Text
Type Changed: System.Text.Encoding
Added method:
public string GetString (System.ReadOnlySpan<byte> bytes);
Namespace System.Threading
Type Changed: System.Threading.LazyInitializer
Added method:
public static T EnsureInitialized<T> (ref T target, ref object syncLock, System.Func<T> valueFactory);
New Type: System.Threading.Lock
public class Lock {
// constructors
public Lock ();
// methods
public void Acquire ();
public void Release ();
}
New Type: System.Threading.LockHolder
public struct LockHolder, System.IDisposable {
// methods
public virtual void Dispose ();
public static LockHolder Hold (Lock l);
}
Namespace System.Threading.Tasks
Type Changed: System.Threading.Tasks.Task
Added methods:
public static System.Threading.Tasks.Task<TResult> CreateUnwrapPromise<TResult> (Task outerTask, bool lookForOce);
public virtual void MarkAborted (System.Threading.ThreadAbortException e);
New Namespace System.Buffers.Binary
New Type: System.Buffers.Binary.BinaryPrimitives
public static class BinaryPrimitives {
// methods
public static short ReadInt16BigEndian (System.ReadOnlySpan<byte> buffer);
public static short ReadInt16LittleEndian (System.ReadOnlySpan<byte> buffer);
public static int ReadInt32BigEndian (System.ReadOnlySpan<byte> buffer);
public static int ReadInt32LittleEndian (System.ReadOnlySpan<byte> buffer);
public static long ReadInt64BigEndian (System.ReadOnlySpan<byte> buffer);
public static long ReadInt64LittleEndian (System.ReadOnlySpan<byte> buffer);
public static T ReadMachineEndian<T> (System.ReadOnlySpan<byte> buffer);
public static ushort ReadUInt16BigEndian (System.ReadOnlySpan<byte> buffer);
public static ushort ReadUInt16LittleEndian (System.ReadOnlySpan<byte> buffer);
public static uint ReadUInt32BigEndian (System.ReadOnlySpan<byte> buffer);
public static uint ReadUInt32LittleEndian (System.ReadOnlySpan<byte> buffer);
public static ulong ReadUInt64BigEndian (System.ReadOnlySpan<byte> buffer);
public static ulong ReadUInt64LittleEndian (System.ReadOnlySpan<byte> buffer);
public static byte ReverseEndianness (byte value);
public static short ReverseEndianness (short value);
public static int ReverseEndianness (int value);
public static long ReverseEndianness (long value);
public static sbyte ReverseEndianness (sbyte value);
public static ushort ReverseEndianness (ushort value);
public static uint ReverseEndianness (uint value);
public static ulong ReverseEndianness (ulong value);
public static bool TryReadInt16BigEndian (System.ReadOnlySpan<byte> buffer, out short value);
public static bool TryReadInt16LittleEndian (System.ReadOnlySpan<byte> buffer, out short value);
public static bool TryReadInt32BigEndian (System.ReadOnlySpan<byte> buffer, out int value);
public static bool TryReadInt32LittleEndian (System.ReadOnlySpan<byte> buffer, out int value);
public static bool TryReadInt64BigEndian (System.ReadOnlySpan<byte> buffer, out long value);
public static bool TryReadInt64LittleEndian (System.ReadOnlySpan<byte> buffer, out long value);
public static bool TryReadMachineEndian<T> (System.ReadOnlySpan<byte> buffer, out T value);
public static bool TryReadUInt16BigEndian (System.ReadOnlySpan<byte> buffer, out ushort value);
public static bool TryReadUInt16LittleEndian (System.ReadOnlySpan<byte> buffer, out ushort value);
public static bool TryReadUInt32BigEndian (System.ReadOnlySpan<byte> buffer, out uint value);
public static bool TryReadUInt32LittleEndian (System.ReadOnlySpan<byte> buffer, out uint value);
public static bool TryReadUInt64BigEndian (System.ReadOnlySpan<byte> buffer, out ulong value);
public static bool TryReadUInt64LittleEndian (System.ReadOnlySpan<byte> buffer, out ulong value);
public static bool TryWriteInt16BigEndian (System.Span<byte> buffer, short value);
public static bool TryWriteInt16LittleEndian (System.Span<byte> buffer, short value);
public static bool TryWriteInt32BigEndian (System.Span<byte> buffer, int value);
public static bool TryWriteInt32LittleEndian (System.Span<byte> buffer, int value);
public static bool TryWriteInt64BigEndian (System.Span<byte> buffer, long value);
public static bool TryWriteInt64LittleEndian (System.Span<byte> buffer, long value);
public static bool TryWriteMachineEndian<T> (System.Span<byte> buffer, ref T value);
public static bool TryWriteUInt16BigEndian (System.Span<byte> buffer, ushort value);
public static bool TryWriteUInt16LittleEndian (System.Span<byte> buffer, ushort value);
public static bool TryWriteUInt32BigEndian (System.Span<byte> buffer, uint value);
public static bool TryWriteUInt32LittleEndian (System.Span<byte> buffer, uint value);
public static bool TryWriteUInt64BigEndian (System.Span<byte> buffer, ulong value);
public static bool TryWriteUInt64LittleEndian (System.Span<byte> buffer, ulong value);
public static void WriteInt16BigEndian (System.Span<byte> buffer, short value);
public static void WriteInt16LittleEndian (System.Span<byte> buffer, short value);
public static void WriteInt32BigEndian (System.Span<byte> buffer, int value);
public static void WriteInt32LittleEndian (System.Span<byte> buffer, int value);
public static void WriteInt64BigEndian (System.Span<byte> buffer, long value);
public static void WriteInt64LittleEndian (System.Span<byte> buffer, long value);
public static void WriteMachineEndian<T> (System.Span<byte> buffer, ref T value);
public static void WriteUInt16BigEndian (System.Span<byte> buffer, ushort value);
public static void WriteUInt16LittleEndian (System.Span<byte> buffer, ushort value);
public static void WriteUInt32BigEndian (System.Span<byte> buffer, uint value);
public static void WriteUInt32LittleEndian (System.Span<byte> buffer, uint value);
public static void WriteUInt64BigEndian (System.Span<byte> buffer, ulong value);
public static void WriteUInt64LittleEndian (System.Span<byte> buffer, ulong value);
}
System.Core.dll
Namespace System.Security.Cryptography
New Type: System.Security.Cryptography.IncrementalHash
public sealed class IncrementalHash : System.IDisposable {
// properties
public HashAlgorithmName AlgorithmName { get; }
// methods
public void AppendData (byte[] data);
public void AppendData (byte[] data, int offset, int count);
public static IncrementalHash CreateHMAC (HashAlgorithmName hashAlgorithm, byte[] key);
public static IncrementalHash CreateHash (HashAlgorithmName hashAlgorithm);
public virtual void Dispose ();
public byte[] GetHashAndReset ();
}
System.dll
Namespace System
New Type: System.StringNormalizationExtensions
public static class StringNormalizationExtensions {
// methods
public static bool IsNormalized (this string strInput);
public static bool IsNormalized (this string strInput, Text.NormalizationForm normalizationForm);
public static string Normalize (this string strInput);
public static string Normalize (this string strInput, Text.NormalizationForm normalizationForm);
}
Namespace System.Diagnostics
New Type: System.Diagnostics.StackFrameExtensions
public static class StackFrameExtensions {
// methods
public static IntPtr GetNativeIP (this StackFrame stackFrame);
public static IntPtr GetNativeImageBase (this StackFrame stackFrame);
public static bool HasILOffset (this StackFrame stackFrame);
public static bool HasMethod (this StackFrame stackFrame);
public static bool HasNativeImage (this StackFrame stackFrame);
public static bool HasSource (this StackFrame stackFrame);
}
Namespace System.IO.Compression
Type Changed: System.IO.Compression.GZipStream
Added methods:
public override int Read (System.Span<byte> destination);
public override System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> destination, System.Threading.CancellationToken cancellationToken);
public override void Write (System.ReadOnlySpan<byte> source);
public override System.Threading.Tasks.Task WriteAsync (System.ReadOnlyMemory<byte> source, System.Threading.CancellationToken cancellationToken);
Namespace System.Net.WebSockets
Type Changed: System.Net.WebSockets.ClientWebSocket
Added methods:
public override System.Threading.Tasks.ValueTask<ValueWebSocketReceiveResult> ReceiveAsync (System.Memory<byte> buffer, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task SendAsync (System.ReadOnlyMemory<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, System.Threading.CancellationToken cancellationToken);
Type Changed: System.Net.WebSockets.WebSocket
Added methods:
public static WebSocket CreateFromStream (System.IO.Stream stream, bool isServer, string subProtocol, System.TimeSpan keepAliveInterval, System.Memory<byte> buffer);
public virtual System.Threading.Tasks.ValueTask<ValueWebSocketReceiveResult> ReceiveAsync (System.Memory<byte> buffer, System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task SendAsync (System.ReadOnlyMemory<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, System.Threading.CancellationToken cancellationToken);
Namespace System.Text.RegularExpressions
Type Changed: System.Text.RegularExpressions.CaptureCollection
Added interfaces:
System.Collections.Generic.ICollection<Capture>
System.Collections.Generic.IEnumerable<Capture>
System.Collections.Generic.IList<Capture>
System.Collections.Generic.IReadOnlyCollection<Capture>
System.Collections.Generic.IReadOnlyList<Capture>
System.Collections.IList
Added method:
public virtual void CopyTo (Capture[] array, int arrayIndex);
Type Changed: System.Text.RegularExpressions.GroupCollection
Added interfaces:
System.Collections.Generic.ICollection<Group>
System.Collections.Generic.IEnumerable<Group>
System.Collections.Generic.IList<Group>
System.Collections.Generic.IReadOnlyCollection<Group>
System.Collections.Generic.IReadOnlyList<Group>
System.Collections.IList
Added method:
public virtual void CopyTo (Group[] array, int arrayIndex);
Type Changed: System.Text.RegularExpressions.MatchCollection
Added interfaces:
System.Collections.Generic.ICollection<Match>
System.Collections.Generic.IEnumerable<Match>
System.Collections.Generic.IList<Match>
System.Collections.Generic.IReadOnlyCollection<Match>
System.Collections.Generic.IReadOnlyList<Match>
System.Collections.IList
Added method:
public virtual void CopyTo (Match[] array, int arrayIndex);
Type Changed: System.Text.RegularExpressions.Regex
Modified fields:
---[NonSerialized]
---public readonly System.TimeSpan InfiniteMatchTimeout;
Modified methods:
-protected bool UseOptionR ()
+protected bool UseOptionR ()
New Namespace System.Security
New Type: System.Security.SecureStringMarshal
public static class SecureStringMarshal {
// methods
public static IntPtr SecureStringToCoTaskMemAnsi (SecureString s);
public static IntPtr SecureStringToCoTaskMemUnicode (SecureString s);
public static IntPtr SecureStringToGlobalAllocAnsi (SecureString s);
public static IntPtr SecureStringToGlobalAllocUnicode (SecureString s);
}
System.Numerics.dll
Namespace System.Numerics
Type Changed: System.Numerics.BigInteger
Added constructor:
public BigInteger (System.ReadOnlySpan<byte> value, bool isUnsigned, bool isBigEndian);
Added methods:
public static BigInteger Parse (System.ReadOnlySpan<char> value, System.Globalization.NumberStyles style, System.IFormatProvider provider);
public bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, System.IFormatProvider provider);
public static bool TryParse (System.ReadOnlySpan<char> value, out BigInteger result);
public static bool TryParse (System.ReadOnlySpan<char> value, System.Globalization.NumberStyles style, System.IFormatProvider provider, out BigInteger result);
public bool TryWriteBytes (System.Span<byte> destination, out int bytesWritten, bool isUnsigned, bool isBigEndian);
System.Runtime.Serialization.dll
Namespace System.Runtime.Serialization
New Type: System.Runtime.Serialization.DataContractSerializerExtensions
public static class DataContractSerializerExtensions {
// methods
public static ISerializationSurrogateProvider GetSerializationSurrogateProvider (this DataContractSerializer serializer);
public static void SetSerializationSurrogateProvider (this DataContractSerializer serializer, ISerializationSurrogateProvider provider);
}
New Type: System.Runtime.Serialization.ISerializationSurrogateProvider
public interface ISerializationSurrogateProvider {
// methods
public virtual object GetDeserializedObject (object obj, System.Type targetType);
public virtual object GetObjectToSerialize (object obj, System.Type targetType);
public virtual System.Type GetSurrogateType (System.Type type);
}
System.Xml.Linq.dll
Namespace System.Xml.XPath
New Type: System.Xml.XPath.XDocumentExtensions
public static class XDocumentExtensions {
// methods
public static IXPathNavigable ToXPathNavigable (this System.Xml.Linq.XNode node);
}
Xamarin.WatchOS.dll
Namespace Compression
Type Changed: Compression.CompressionStream
Added methods:
public override int Read (System.Span<byte> destination);
public override System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> destination, System.Threading.CancellationToken cancellationToken);
public override void Write (System.ReadOnlySpan<byte> source);
public override System.Threading.Tasks.Task WriteAsync (System.ReadOnlyMemory<byte> source, System.Threading.CancellationToken cancellationToken);
Namespace Foundation
Type Changed: Foundation.NSErrorException
Added property:
public override string Message { get; }
Namespace ObjCRuntime
Type Changed: ObjCRuntime.Constants
Modified fields:
-public const string Version = "12.0.0";
+public const string Version = "12.2.";
Type Changed: ObjCRuntime.Runtime
Added method:
public static void ReleaseBlockOnMainThread (IntPtr block);