Skip to content

Commit 9597c99

Browse files
committed
fix links
1 parent ec5599a commit 9597c99

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

docs/standard/unsafe-code/best-practices.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ but then the pointer is exposed outside of the `fixed` block. This creates a dan
126126
### Recommendations
127127

128128
1. ✔️ DO make sure that pointers in `fixed` blocks do not leave the defined scope.
129-
2. ✔️ DO prefer safe low-level primitives with built-in escape analysis, such as C#'s [ref struct](../../csharp/language-reference/builtin-types/ref-struct.md). For more information, see [Low Level Struct Improvements](../../csharp/language-reference/proposals/csharp-11.0/low-level-struct-improvements.md).
129+
2. ✔️ DO prefer safe low-level primitives with built-in escape analysis, such as C#'s [ref struct](../../csharp/language-reference/builtin-types/ref-struct.md). For more information, see [Low-level struct improvements](~/_csharplang/proposals/csharp-11.0/low-level-struct-improvements.md).
130130

131131
## 3. Internal implementation details of the runtime and libraries
132132

@@ -682,7 +682,7 @@ the intended logic.
682682

683683
## 15. Fixed-size buffers
684684

685-
Fixed-size buffers were useful for interop scenarios with data sources from other languages or platforms. They then were replaced by safer and more convenient [inline-arrays](../../csharp/language-reference/proposals/csharp-12.0/inline-arrays.md).
685+
Fixed-size buffers were useful for interop scenarios with data sources from other languages or platforms. They then were replaced by safer and more convenient [inline arrays](~/_csharplang/proposals/csharp-12.0/inline-arrays.md).
686686
An example of a fixed-size buffer (requires `unsafe` context) is the following snippet:
687687

688688
```csharp
@@ -696,7 +696,7 @@ MyStruct m = new();
696696
ms.data[10] = 0; // Out-of-bounds write, undefined behavior.
697697
```
698698

699-
A modern and a safer alternative is [inline-arrays](../../csharp/language-reference/proposals/csharp-12.0/inline-arrays.md):
699+
A modern and a safer alternative is [inline arrays](~/_csharplang/proposals/csharp-12.0/inline-arrays.md):
700700

701701
```csharp
702702
[System.Runtime.CompilerServices.InlineArray(8)]
@@ -964,7 +964,7 @@ Fuzz testing (or "fuzzing") is an automated software testing technique that invo
964964
## References
965965

966966
* [Unsafe code, pointer types, and function pointers](../../csharp/language-reference/unsafe-code.md).
967-
* [Unsafe code, language specification](../../csharp/language-reference/language-specification/unsafe-code.md).
967+
* [Unsafe code, language specification](~/_csharpstandard/standard/unsafe-code.md).
968968
* [What Every CLR Developer Must Know Before Writing Code](https://github.com/dotnet/runtime/blob/main/docs/coding-guidelines/clr-code-guide.md) for advanced topics around the CoreCLR and the GC internals.
969969
* [Native interoperability best practices](../../standard/native-interop/best-practices.md).
970970
* [Managed threading best practices](../../standard/threading/managed-threading-best-practices.md).

0 commit comments

Comments
 (0)