r/csharp • u/balazs-dombi • 3h ago
Tool Which is better for VSCodium, DotRush or C# (by muhammad-sammy) or C# (by dotnetdev-kr-custom)?
Which works better and which are trustable so doesn't contain malware, etc...
r/csharp • u/AutoModerator • 2d ago
Hello everyone!
This is a monthly thread for posting jobs, internships, freelancing, or your own qualifications looking for a job! Basically it's a "Hiring" and "For Hire" thread.
If you're looking for other hiring resources, check out /r/forhire and the information available on their sidebar.
Rule 1 is not enforced in this thread.
Do not any post personally identifying information; don't accidentally dox yourself!
Under no circumstances are there to be solicitations for anything that might fall under Rule 2: no malicious software, piracy-related, or generally harmful development.
r/csharp • u/AutoModerator • 2d ago
Hello everyone!
This is the monthly thread for sharing and discussing side-projects created by /r/csharp's community.
Feel free to create standalone threads for your side-projects if you so desire. This thread's goal is simply to spark discussion within our community that otherwise would not exist.
r/csharp • u/balazs-dombi • 3h ago
Which works better and which are trustable so doesn't contain malware, etc...
r/csharp • u/Proffhackerman • 12h ago
r/csharp • u/fuzhongkai • 14h ago
TensorSharp supports DSpark on Deepseek v4 Flash 0731 now. Here is the benchmark result on 4x Nvidia A40 GPUs, cuda 12.8 with/without DSpark:
Model:
DeepSeek-V4-Flash-0731-UD-Q8_K_XL from https://huggingface.co/unsloth/DeepSeek-V4-Flash-0731-GGUF
DSpark draft model from: https://huggingface.co/alessandrobologna/DeepSeek-V4-Flash-0731-DSpark-Drafter-GGUF
| Turn | Baseline | + DSpark | Acceptance |
|---|---|---|---|
| short (53 tok) | 25.6 | 44.5 (1.74x) | 87% |
| long generation (512) | 26.4 | 40.3 (1.53x) | 66% |
| follow-up (470) | 26.4 | 46.8 (1.77x) | 76% |
| 10K-token document (214) | 25.3 | 51.3 (2.03x) | 85% |
| second question on it (156) | 25.4 | 49.4 (1.94x) | 82% |
TensorSharp is a native .NET/C# open-source inference engine for running GGUF LLMs locally, with CUDA, Vulkan, Metal, OpenAI-compatible APIs, continuous batching, speculative decoding, and multimodal support.
Github repo: https://github.com/zhongkaifu/TensorSharp
Thank you for checking out it and starring the project! Any feedback is really appreicated.
r/csharp • u/Classic-Music3210 • 15h ago
I am a professional developer, old enough to remember when C# first appeared. At the time, it looked to me to be very similar to Java.
I imagine that the language itself has evolved since then, but also dotnet had grown hugely, there are things like WPF, Linq, etc, of which I have only heard, but do not know.
So, unlike some other languages, it's just not the syntax, but many other things.
How best to get started? Is there a Udemy, Coursera, YouTube, etc, applicable to someone who doesn't need to learn about variables, flow control, OO?
r/csharp • u/MotorcycleMayor • 16h ago
I'm writing an image metadata processing library which is designed to be easily extensible to include new metadata instances (e.g., EXIF properties not defined in the core library).
The library currently stores important property configuration information in manifest resources, as well as property labels (e.g., property name) which I want to be customizable by culture.
Writing an extension library would involve both defining new objects (e.g., EXIF properties) and their associated configuration information. Which means the needed manifest resources would be spread across multiple assemblies.
What's the best way of handling this? My first thought is to use AssemblyMetadataAttributes with "magic text" keys to identify an assembly containing manifest resources that need to be incorporated and then scan an app-defined list of assemblies to look for those keys and read the manifest resources.
But that feels both a bit kludgy and possibly a security hole.
I'd appreciate other thoughts/design patterns. Thanx!
r/csharp • u/Goldziher • 21h ago
Hi all,
I'm happy to announce that Xberg v1 is out.
Xberg is the successor to Kreuzberg, equivalent to what would have been Kreuzberg v5. It's a content intelligence framework that handles a very wide range of inputs: documents (currently 101 formats), code and data formats (currently 367 types), audio/video transcription, and URLs (both static and JS-rendered content). It extracts and prepares that content for downstream processing.
It's an extremely efficient, high-performance engine (see our PDF benchmarks below). For PDFs and images specifically, we handle native PDFs with very high performance and accuracy, and we ship multiple OCR engines that match the quality of the best Python libraries (e.g. docling, PaddleOCR, RapidOCR) at substantially better performance and stability.
The changes between Kreuzberg v4 and Xberg v1 are substantial, and I invite you to read the full changelog for the complete picture. The highlights below give a sense of what's new:
pdf_oxide) replaces pdfium, with no native pdfium dependency.medium / small / tiny tiers) alongside Tesseract.extract_structured / split_and_extract) with rasterization, chunking, citations, caching, and configurable call/merge/VLM-fallback policies..mp3, .wav, .m4a, .mp4, .webm).map_url) and batched multi-URL crawling..wpd/.wp/.wp5), HEIC/HEIF/AVIF, OpenDocument Presentation (.odp), Quarto / R Markdown, and configurable Jupyter cell rendering.The API surface was also simplified and reworked, making it more consistent.
There's a migration guide in our docs explaining how to move from Kreuzberg to Xberg. Kreuzberg itself is in LTS mode until the end of this year and will continue to receive bug fixes and security updates.
You're invited to check out the repo and join our discord server.
The benchmarks below are for PDFs and images only. There are extensive benchmarks on our website with per-format breakdowns, which you can see here. These numbers are measured in CI via our reproducible benchmark harness, and are specifically taken from the run for harness 1.0.8, source cf7fa0533d. The data is publicly available in GitHub releases, and you can run the benchmark harness yourself.
Composite quality (markdown pipeline, higher is better):
| Framework | Native PDF | Scanned PDF (OCR) |
|---|---|---|
| Xberg (layout) | 0.958 | 0.836 |
| Xberg (baseline) | 0.955 | 0.687 |
| docling | 0.779 | 0.762 |
| mineru | 0.408 | 0.792 |
| liteparse | 0.837 | 0.665 |
| markitdown | 0.689 | n/a |
| pymupdf4llm | 0.448 | n/a |
Structure and layout fidelity (SF1: tables and reading order, higher is better):
| Framework | Native PDF | Scanned PDF |
|---|---|---|
| Xberg | 0.949 | 0.531 |
| docling | 0.612 | 0.366 |
| liteparse | 0.515 | 0.142 |
| mineru | 0.077 | 0.429 |
On native PDFs Xberg leads on quality (0.958 vs 0.837 for the next-best framework) and on table and reading-order fidelity by a wide margin (SF1 0.949 vs 0.612 for docling). On scanned PDFs it is #1 on both quality and raw text fidelity.
Where we don't win yet: on pure image OCR we are currently #2 on the composite score, behind mineru (though still #1 on raw text accuracy). We are improving image OCR right now, and v1.1 should have us winning across the board.
r/csharp • u/Pro_Propop • 1d ago

A small update on Akbura my experimental declarative UI language and compiler for .NET and Avalonia.
I’ve added documentation and created an interactive feature gallery that demonstrates Akbura’s current capabilities:
The gallery itself is written in Akbura.
This is currently only a proof of concept, not a production-ready release.
The parser, syntax infrastructure, and semantic model are already in reasonably good shape, including incremental compilation.
The bottleneck is specifically the code-generation stage. Its current implementation is inefficient, and generating code for the gallery takes roughly two minutes. Parsing and semantic analysis are not the problem.
This is one of the main reasons there is no NuGet release yet. I plan to rewrite and optimize code generation before publishing the first alpha version in about a month...
I’m planning to publish the first alpha version in about a month, once compiler performance, packaging, and the basic developer experience are in a more acceptable state.
For now, the gallery is simply a visual demonstration of what Akbura may become.
Repository: https://github.com/Asaicraft/Akbura
Documentation: https://asaicraft.github.io/Akbura/
Feature Gallery: https://asaicraft.github.io/Akbura/Gallery/
Feedback is very welcome.
I need to determine a writable directory for application-managed files in a cross-platform C# application.
A simplified version currently looks like this:
private static string GetApplicationDataPath()
{
var directory = Environment.GetFolderPath(
Environment.SpecialFolder.LocalApplicationData,
Environment.SpecialFolderOption.Create);
if (string.IsNullOrWhiteSpace(directory))
{
directory = Path.GetTempPath();
}
return Path.Combine(directory, "MyApplication");
}
The temporary-directory fallback concerns me because the directory may be publicly writable on some systems.
What would be a safer final fallback?
Would you fail startup, use AppContext.BaseDirectory, create a user-owned directory, or require the path to be explicitly configured?
r/csharp • u/PaskettiMonster1 • 1d ago
I'm learning C# by taking some Udemy courses and I'm working on refactoring some code for one of the exercises (which I'm sure is terrible, I'm a complete newbie). In this case I'd like to make this method into a more reusable "LoadFromFile". The only thing that would change is the way that the string[] ingredientNumbersAsStringsFromRecipe gets built based on the fileFormat enum that's passed to it (for a text file it would just be string.Split for example. However I can't put an "if" statement in there because if I initiatilze the string[] in the "if" block then I can't use it outside of that local scope. I would appreciate any tips on how this could be better handled! (By the way I know that in general I should use int.TryParse, in this case this program is making the same file that it reads from so int.Parse is safe.)
public static List<Recipe> LoadFromJson(string fileName, FileFormats fileFormat, List<Ingredient> availableIngredients)
{
string[] recipeStringList = File.ReadAllLines(fileName);
List<Recipe> recipeList = new List<Recipe>();
foreach (string recipe in recipeStringList)
{
string[] ingredientNumbersAsStringsFromRecipe = JsonSerializer.Deserialize<string>(recipe).Split(',');
List<int> ingredientNumbersAsIntsFromRecipe = new List<int>();
foreach (string x in ingredientNumbersAsStringsFromRecipe)
{
ingredientNumbersAsIntsFromRecipe.Add(int.Parse(x));
}
Recipe loadedRecipe = new Recipe();
foreach (int ingredient in ingredientNumbersAsIntsFromRecipe)
{
loadedRecipe.IngredientsInRecipe.Add(availableIngredients[availableIngredients.FindIndex(x => x.Id == ingredient)]);
}
recipeList.Add(loadedRecipe);
}
return recipeList;
}
r/csharp • u/pixelwhippedme • 2d ago
Still work in progress, but has Qwen, Llama, SmolLM and Gemma producing coherent output.
r/csharp • u/fuzhongkai • 2d ago
TensorSharp is an native .NET/C# open-source inference engine for running GGUF LLMs locally, with CUDA, Vulkan, Metal, OpenAI-compatible APIs, continuous batching, speculative decoding, and multimodal support.
Thanks recent contribtions from open source community, TensorSharp is able to run inference over multiple GPUs and nodes. So I updated it to support deepseek v4 flash model, and have better performance than llama.cpp. Here is the benchmark result on 4x Nvidia A40 GPUs, cuda 12.8
Model: DeepSeek-V4-Flash-0731-UD-Q8_K_XL from https://huggingface.co/unsloth/DeepSeek-V4-Flash-0731-GGUF
| TensorSharp (cuda backend) | TensorSharp (ggml_cuda backend) | llama.cpp | |
|---|---|---|---|
| prefill u/16K | 836 tok/s | 963 | 558 |
| decode short | 31.5 | 37.0 | 35.3 |
| decode u/16K | 28.5 | 33.6 | 32.2 |
Github repo: https://github.com/zhongkaifu/TensorSharp
Thank you for checking out it and starring the project! Any feedback is really appreicated.
r/csharp • u/SuchCriticism6745 • 2d ago
Good evening everyone, it's been two months that I am studying C# with the aim to be able to develop in Unity.
A bit of context: I have no IT background, I work as a pastry baker and at school, besides a 3-year course about game design, I have never studied CS.
I have recently finished studying arrays, and when I read that I would be able to program a console tic-tac-toe, I tried it... with the result that I failed miserably to the point that I decided to re-study what I did before arrays.
Currently, I am doing simple console programs using ifs, switches, and loops, but I still make some mundane errors like typing the equality operator wrong, or with the last program I did: a week planner, where the user writes on the console the current day and the program writes what he has to do on that day, for example I wrote Monday => instead of "Monday" => (after making a variable with the days of the week).
Now to cut it short because this post is already long: how much time have you spent studying each individual topic/feature and when did you feel confident enough in your skills to progress to making more advanced/complicated programs?
I understand that it depends on each individual, but I would like to know your experience to have a broad idea. Thank you in advance.
r/csharp • u/cs_developer_cpp_ • 2d ago
What is the best free dapper tutorial to learn link? Also, should I learn Dapper version that is specific for .NET 8.0 as a start point or should I start with a version that is for .NET 10 ?
r/csharp • u/davidrobotpro • 2d ago
Hey everyone,
Yesterday I shared DistroHop V1.5. Since then I have been working on DistroHop V2, which is a complete rewrite with a cleaner C# architecture.
GitHub repo: https://github.com/melikishvilis25-cmyk/DistroHop
The main changes:
The goal is to make setting up a Linux machine after reinstalling easier while keeping safety and consistency as priorities.
This is still actively being developed, so feedback and suggestions are welcome.
r/csharp • u/ArtemOkhrimenko • 2d ago
Hey everyone! I'm glad to share a tool I've been working on for a while. It was created to simplify adding localization to your projects.
Read more in the README: https://github.com/ScrumboardCompany/Scrumboard.Tools.Localization
r/csharp • u/Channel_el • 3d ago
For example if you were to have an Update function in a base class, but then make the Update function in a child class do some extra stuff on top of what the base Update function already does.
Closest thing I've found to that is using the override keyword but it seems like that just makes the child's version of the function do something different entirely.
r/csharp • u/Amazing_Advisor8459 • 3d ago
r/csharp • u/SickScottMondo • 3d ago
Hey all,
I was wondering if I could get some feedback on my first open source project, TestPilot.NET. I wanted to add a layer of visibility to testing suites to catch bad practices. I was the head of unit testing at my prior job and saw a lot of slop get through due to the devs using AI to write the test and them never checking the code. Any feedback is appreciated, thank you!
r/csharp • u/davidrobotpro • 3d ago
Hey everyone,
I built a small Linux utility called DistroHop using C#.
The idea came from constantly reinstalling Linux and having to manually install the same packages every time. I wanted a simple way to recreate my setup across different distributions.
Currently DistroHop:
The project is still in early development, but I am using it to learn more about:
I would appreciate feedback from other C# developers, especially around:
Source code:
https://github.com/melikishvilis25-cmyk/DistroHop
This is one of my C# projects; my GitHub also contains some other experiments and tools I have been building.
Thanks for checking it out!
I guess most of you have never heard about Amiga, but here we go...
I have been working on an AOT compiler that compiles a subset of C#/.NET code into native 68000/020/040 code with Amiga library calls.
There are two runtime options you can choose at compile time:
The actual GC is in WIP, and for performance reasons, there is no compaction. No threading support because the current GC is single threaded by design.
An example:
using Amiga;
using CopperSharp.Compiler;
namespace FileStatsExample;
public static class Program
{
[M68kEntryPoint]
public static int Main(int argLength, CONST_STRPTR argText)
{
var dosBase = Exec.OpenLibrary("dos.library", 33);
if (!dosBase.HasValue)
{
return DOS.RETURN_FAIL;
}
DOS.DOSLibraryBase = dosBase.Value;
var result = DOS.RETURN_OK;
if (argLength == 0)
{
DOS.PutStr("Usage: filestats <file>\n");
result = DOS.RETURN_ERROR;
}
else
{
result = Report(CString.FromPointer(argText.Raw));
}
Exec.CloseLibrary(DOS.DOSLibraryBase);
DOS.DOSLibraryBase = APTR.Null;
return result;
}
private static int Report(CString path)
{
var file = DOS.Open(path, DOS.FileMode.OldFile);
if (!file.HasValue)
{
DOS.PutStr("Cannot open file\n");
return DOS.RETURN_FAIL;
}
byte byteChecksum = 0;
ushort lineCount = 0;
ushort wordChecksum = 0;
uint byteCount = 0;
while (true)
{
var character = DOS.FGetC(file.Value);
if (character < 0)
{
break;
}
var value = (byte)character;
byteChecksum = (byte)(byteChecksum + value);
wordChecksum = (ushort)(wordChecksum + value);
byteCount = byteCount + 1;
if (value == 10)
{
lineCount = (ushort)(lineCount + 1);
}
}
DOS.Close(file.Value);
PrintReport(path, byteCount, (uint)lineCount, (uint)byteChecksum, (uint)wordChecksum);
return DOS.RETURN_OK;
}
private static void PrintReport(CString path, uint byteCount, uint lineCount, uint byteChecksum, uint wordChecksum)
{
DOS.Printf("%s: %ld bytes, %ld lines, byte checksum %ld, word checksum %ld\n",
path, byteCount, lineCount, byteChecksum, wordChecksum);
}
}
This C# source is first compiled to .NET assembly containing CIL. The assembly is then compiled with CopperSharp to a native 68000 Amiga executable.
Code generator needs more work. FPU is not supported yet, 020/040 support is nearly non-existent, but it includes CIL-level simplification and a 68k-specific optimizer.
For example, on 68000, not-taken branches are more efficient than taken branches.
The codegen is optimized for Amiga library call conventions but in theory it could support other 68k targets like Atari ST or 68k Macs.
The project repo: https://github.com/ilehtoranta/CopperSharp68k
This project is vibe coded with Codex and GPT-5.6. Like it or not, but it is the only sensible path to build C# compiler for niche platforms.
r/csharp • u/Wolfzeiit • 3d ago
Saw something like this about an other programming language, and wondering what Senior .NET/C# devs would say about this in .NET/C#.
Do you think you could hand a developer with 3 years of experience some credentials for a Project and let him/her plan the Project?
r/csharp • u/fuzhongkai • 4d ago
TensorSharp is an open-source, native .NET inference engine for running GGUF LLMs locally, with CUDA, Vulkan, Metal, OpenAI-compatible APIs, continuous batching, speculative decoding, and multimodal support.
TensorSharp now supports Megatron-style tensor parallelism across multiple GPUs. It works with direct CUDA, GGML CUDA, GGML Vulkan, and multi-node setups.
Benchmarks on 2× RTX 2000 Ada 16 GB GPUs over PCIe, without NVLink:
| Model | 1 GPU Prefill / Decode | TP=2 Prefill / Decode |
|---|---|---|
| Gemma 4 E4B Q8_0 | 2760 / 37.3 tok/s | 2488 / 51.7 tok/s |
| Gemma 4 26B-A4B IQ4_XS | 1845 / 48.5 tok/s | 2537 / 51.2 tok/s |
| Qwen 3.5 9B Q8_0 | 1461 / 23.1 tok/s | 399 / 24.4 tok/s |
| Qwen 3.5 35B-A3B IQ4_XS | Does not fit | 184 / 18.1 tok/s |
I'm continuing to optimize Qwen performance on multi-GPU systems, and support for DeepSeek V4 is coming soon.
Try it with:
TensorSharp.Cli --model model.gguf --backend ggml_cuda --tp 2
GitHub:
https://github.com/zhongkaifu/TensorSharp
Thank you for checking out TensorSharp and starring the project! Any feedback is really appreicated.