{"id":15031289,"url":"https://github.com/rustlanges/dotnet-rust-example","last_synced_at":"2025-04-10T00:23:26.037Z","repository":{"id":251433532,"uuid":"805228484","full_name":"RustLangES/dotnet-rust-example","owner":"RustLangES","description":"Ejemplo de interoperabilidad entre dotnet y Rust","archived":false,"fork":false,"pushed_at":"2024-10-21T02:13:16.000Z","size":53,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T21:45:32.121Z","etag":null,"topics":["dotnet","dotnet-core","dotnetcore","interoperability","rust","rust-lang","rustlang"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RustLangES.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-MIT","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-24T06:29:33.000Z","updated_at":"2024-10-21T02:13:21.000Z","dependencies_parsed_at":"2024-10-22T05:15:47.031Z","dependency_job_id":null,"html_url":"https://github.com/RustLangES/dotnet-rust-example","commit_stats":null,"previous_names":["rustlanges/dotnet-rust-example"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RustLangES%2Fdotnet-rust-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RustLangES%2Fdotnet-rust-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RustLangES%2Fdotnet-rust-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RustLangES%2Fdotnet-rust-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RustLangES","download_url":"https://codeload.github.com/RustLangES/dotnet-rust-example/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248132375,"owners_count":21053028,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotnet","dotnet-core","dotnetcore","interoperability","rust","rust-lang","rustlang"],"created_at":"2024-09-24T20:15:22.208Z","updated_at":"2025-04-10T00:23:26.002Z","avatar_url":"https://github.com/RustLangES.png","language":"Rust","readme":"\u003cdiv align=\"right\"\u003e\n\u003ca href=\"./README_EN.md\"\u003eEN\u003c/a\u003e\n\u003c/div\u003e\n\n# Ejemplo de interoperabilidad entre DotNet y Rust\n\n## Features\n- Entorno Nix para trabajar comodo\n\n### Requisitos\n\nPara construir y desplegar este proyecto, necesitarás lo siguiente:\n\n- [Rust](https://rust-lang.org)\n- [dotnet](https://dotnet.microsoft.com/en-us/download)\n\n### Aprende Rust\nContamos con recursos que pueden guiarte en tu proceso de aprendizaje de Rust\n\n- [Recursos y colleciones de aprendizaje](https://rustlang-es.org/aprende)\n- [Libro oficial en Español](https://book.rustlang-es.org)\n- [Guia de Rust para Desarrolladores DotNet](https://dotnet-book.rustlang-es.org)\n\n### Cosas a tener en cuenta\nLos tipos en la interoperabilidad son importantes, por eso revisa esta tabla de equivalentes\n\n\u003e [!IMPORTANT]\n\u003e Mas informacion en [este capitulo del libro](https://dotnet-book.rustlang-es.org/language/scalar-types)\n\nLa siguiente tabla enumera los tipos primitivos en Rust y su equivalente en\nC# y .NET:\n\n| Rust    | C#        | .NET                   |\n| ------- | --------- | ---------------------- |\n| `bool`  | `bool`    | `Boolean`              |\n| `char`  | `char`    | `Char`                 |\n| `i8`    | `sbyte`   | `SByte`                |\n| `i16`   | `short`   | `Int16`                |\n| `i32`   | `int`     | `Int32`                |\n| `i64`   | `long`    | `Int64`                |\n| `i128`  |           | `Int128`               |\n| `isize` | `nint`    | `IntPtr`               |\n| `u8`    | `byte`    | `Byte`                 |\n| `u16`   | `ushort`  | `UInt16`               |\n| `u32`   | `uint`    | `UInt32`               |\n| `u64`   | `ulong`   | `UInt64`               |\n| `u128`  |           | `UInt128`              |\n| `usize` | `nuint`   | `UIntPtr`              |\n| `f32`   | `float`   | `Single`               |\n| `f64`   | `double`  | `Double`               |\n|         | `decimal` | `Decimal`              |\n| `()`    | `void`    | `Void` o `ValueTuple`  |\n|         | `object`  | `Object`               |\n\n\u003e [!IMPORTANT]\n\u003e Mas informacion en [este capitulo del libro](https://dotnet-book.rustlang-es.org/language/strings)\n\nLa comparación de textos es mostrada en la siguiente tabla:\n\n| Rust               | .NET                 |\n| ------------------ | -------------------- |\n| `\u0026mut str`         | `Span\u003cchar\u003e`         |\n| `\u0026str`             | `ReadOnlySpan\u003cchar\u003e` |\n| `Box\u003cstr\u003e`         | `String`             |\n| `String`           | `String`             |\n| `String` (mutable) | `StringBuilder`      |\n\n\u003e [!IMPORTANT]\n\u003e Mas informacion en [este capitulo del libro](https://dotnet-book.rustlang-es.org/language/structured-types)\n\nLa comparativa de algunos tipos de datos complejos se refleja en la siguiente tabla:\n| C#           | Rust      |\n| ------------ | --------- |\n| `Array`      | `Array`   |\n| `List`       | `Vec`     |\n| `Tuple`      | `Tuple`   |\n| `Dictionary` | `HashMap` |\n\n### Inspiraciones y proyectos similares\n\n- [https://github.com/KodrAus/rust-csharp-ffi](https://github.com/KodrAus/rust-csharp-ffi)\n- [https://github.com/aeshirey/RustDotNet](https://github.com/aeshirey/RustDotNet)\n- [csbindgen](https://github.com/Cysharp/csbindgen)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frustlanges%2Fdotnet-rust-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frustlanges%2Fdotnet-rust-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frustlanges%2Fdotnet-rust-example/lists"}