Sandberg.Chess.PGN
                              
                            
                                1.0.0
                            
                        
                    dotnet add package Sandberg.Chess.PGN --version 1.0.0
NuGet\Install-Package Sandberg.Chess.PGN -Version 1.0.0
<PackageReference Include="Sandberg.Chess.PGN" Version="1.0.0" />
<PackageVersion Include="Sandberg.Chess.PGN" Version="1.0.0" />
<PackageReference Include="Sandberg.Chess.PGN" />
paket add Sandberg.Chess.PGN --version 1.0.0
#r "nuget: Sandberg.Chess.PGN, 1.0.0"
#:package Sandberg.Chess.PGN@1.0.0
#addin nuget:?package=Sandberg.Chess.PGN&version=1.0.0
#tool nuget:?package=Sandberg.Chess.PGN&version=1.0.0
Sandberg.Chess.PGN
Easy to use library to parse chess PGN
Portable Game Notation (PGN) is a standard plain text format for recording chess games (both the moves and related data), which can be read by humans and is also supported by most chess software (https://en.wikipedia.org/wiki/Portable_Game_Notation)
Parse PGN file
public static PGN ParsePGN(TextReader sr)
public static PGN ParsePGN(string pgn)
# Example
var pgnAsString = System.IO.File.ReadAllText(pgnfile);
var pgn = Sandberg.Chess.PGN.Parser.ParsePGN(pgnAsString); // returns a PGN object
PGN object contains a collection og Tag's and Move's. A Tag is an object with Name an Value (both strings)
A Move contains MoveNumber, White's move and Black's move.
It handles comments and variations
You can convert the PGN object back to a pgn-string:
var content = System.IO.File.ReadAllText(testfile);
var pgn = Sandberg.Chess.PGN.Parser.ParsePGN(content); // returns pgn as object
var pgnAsString = pgn.ToPgn();
| Product | Versions Compatible and additional computed target framework versions. | 
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. | 
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. | 
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. | 
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. | 
| MonoAndroid | monoandroid was computed. | 
| MonoMac | monomac was computed. | 
| MonoTouch | monotouch was computed. | 
| Tizen | tizen40 was computed. tizen60 was computed. | 
| Xamarin.iOS | xamarinios was computed. | 
| Xamarin.Mac | xamarinmac was computed. | 
| Xamarin.TVOS | xamarintvos was computed. | 
| Xamarin.WatchOS | xamarinwatchos was computed. | 
- 
                                                    .NETStandard 2.0- No dependencies.
 
- 
                                                    .NETStandard 2.1- No dependencies.
 
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | 
|---|---|---|
| 1.0.0 | 265 | 2/7/2024 |