Be part dojicreates.com Development - Submit Your C# Tutorial
This page is currently under development.
Help Us Grow the C# Section!
Yes po, I know this is a very ambitious project and involves a
lot of work. Alam ko rin po na hindi ko kaya gawin ito mag-isa.
Kaya naisip ko, mas magiging masaya at meaningful ito kung
magiging bahagi kayo ng development na ito by submitting your
own content in PDF format.
What's in it for you? Credit!
Yes po, I'm planning to include your name as credit in the title
itself, just like what you'll see in the image below.

And hindi lang po basta simple credits lang, clickable link po
ito!
You can include a clean link like your social media account if
you want followers, or leave it blank if you prefer.
Your credits will remain as long as walang ibang submission na
mas mahusay ang explanation. So just because a topic already has
content doesn't mean you can't submit anymore. You're always
welcome to try and submit your own version. With that said,
we're now accepting your best works, send them in now!
Submission Guidelines
1. Content Requirements
- Write tutorials in Filipino (Tagalog)
- You can choose a topic from the scroll spy on the left side
- Focus on one C# topic per submission
- Include practical code examples with proper syntax
- Provide step-by-step explanations
- Show expected outputs
Code Example Format
using System;
namespace CircleArea
{
class Program
{
static double ComputeArea(double radius)
{
// Calculate the area of a circle with the given radius
return Math.PI * Math.Pow(radius, 2);
}
static void Main(string[] args)
{
// Get input from user
Console.Write("Ilagay ang radius: ");
string radiusInput = Console.ReadLine();
double radius = Convert.ToDouble(radiusInput);
// Calculate and display the result
double area = ComputeArea(radius);
Console.WriteLine($"Ang area ng circle na may radius {radius} ay {area:F2} square units.");
}
}
}
2. Recommended C# Topics
- Recommended: Blank topics like this have more higher chances of getting selected.
- C# Data Structures
- C# LINQ Queries
- OOP in C#
- Exception Handling
- File I/O with C#
- Async/Await in C#
How to Submit
- Create a PDF of your C# tutorial following our guidelines
- Join our Facebook group
- Upload/Post your PDF with topic name and brief description on our FB Group
- Wait for feedback from our team
Example
Check our C# | Installing .NET SDK as a model for your submission.
C# Tutorial Submission Guidelines
Required Format for C# Educational Content
Maintained by: dojicreatesThank you for your interest in contributing educational C# content to our platform! To maintain consistency and quality across all tutorials, please follow these detailed guidelines when preparing your submission.
Basic Page Structure
1. Tutorial Title
Always use this format: "C# Programming Tutorials: [Your Topic]"
Example: "C# Programming Tutorials: LINQ Queries"
2. Main Topic Header
Format your main heading as: C# [Your Topic]
Example: C# LINQ Queries
3. Introduction Paragraph
Provide a clear explanation of the concept with key terms in bold.
Example: "Ang LINQ (Language Integrated Query) sa C# ay isang makapangyarihang feature na nagbibigay-daan sa querying ng data mula sa iba't ibang sources tulad ng lists, arrays, at databases gamit ang isang uniform syntax. Ito ay mas maikli at madaling basahin kaysa sa tradisyunal na loops..."
Required Content Sections
1. Importance of the Topic
Section Header: Bakit Mahalaga ang [Your Topic]?
Content Format: List benefits with checkmarks ✔
Example:
- ✔ Mas maikli at mas madaling basahin ang code.
- ✔ Nagbibigay ng type-safety at compile-time checking.
- ✔ Sinusuportahan ang functional programming style.
2. How the Concept Works
Section Header: Paano Gumagana ang [Your Topic]?
Content Format: Step-by-step explanation with ordered or unordered lists
Example:
Sa C#, ang LINQ query ay may tatlong pangunahing bahagi:
- ✔ Data source - ito ang collection na pinagkukunan ng data, tulad ng `List` o `Array`.
- ✔ Query expression - ito ang logic na ginagamit para i-filter o i-transform ang data.
- ✔ Execution - ang query ay hindi agad isinasagawa hangga't hindi tinutukoy ang resulta.
3. Code Example
Section Header: Halimbawa ng [Your Topic]
Content Format: Complete, runnable C# code in a code block with Tagalog comments
Example:
using System;
using System.Collections.Generic;
using System.Linq;
namespace LinqExample
{
class Program
{
static void Main(string[] args)
{
// Simpleng LINQ query para sa squared numbers
List<int> numbers = Enumerable.Range(0, 10).ToList();
var squares = from num in numbers
select num * num;
Console.WriteLine($"Squared numbers: {string.Join(", ", squares)}");
// LINQ query na may condition
var evenSquares = from num in numbers
where num % 2 == 0
select num * num;
Console.WriteLine($"Even squared numbers: {string.Join(", ", evenSquares)}");
// LINQ query gamit ang method syntax
var matrix = Enumerable.Range(0, 3)
.Select(i => Enumerable.Range(0, 3).ToArray())
.ToArray();
Console.WriteLine("Matrix:");
foreach (var row in matrix)
{
Console.WriteLine($"[{string.Join(", ", row)}]");
}
}
}
}
4. Code Explanation
Section Header: Paliwanag ng Code
Content Format: Bullet points explaining each important part of the code
Example:
- `from num in numbers select num * num` → Gumagawa ng list ng squares ng mga number mula 0 hanggang 9.
- `from num in numbers where num % 2 == 0 select num * num` → Gumagawa ng list ng squares ng even numbers lang.
- `Enumerable.Range(0, 3).Select(i => ...)` → Gumagawa ng 3x3 matrix gamit ang LINQ method syntax.
5. Practical Application (Optional)
Section Header: [Variation] ng [Your Topic]
Content Format: Additional examples with short code snippets
Example:
Ang LINQ ay maaari ding gamitin sa strings at dictionaries:
using System;
using System.Collections.Generic;
using System.Linq;
namespace LinqPractical
{
class Program
{
static void Main(string[] args)
{
// Converting string to uppercase using LINQ
List<string> names = new List<string> { "juan", "pedro", "maria" };
var upperNames = names.Select(name => name.ToUpper());
Console.WriteLine($"Uppercase names: {string.Join(", ", upperNames)}");
// Using LINQ with dictionaries
var dictComp = Enumerable.Range(0, 5)
.ToDictionary(x => x, x => x * x);
Console.WriteLine($"Dictionary comprehension: {string.Join(", ", dictComp.Select(kv => $"{kv.Key}: {kv.Value}"))}");
}
}
}
6. Expected Output
Section Header: Expected Output:
Content Format: Plain text showing expected console output
Example:
Squared numbers: 0, 1, 4, 9, 16, 25, 36, 49, 64, 81
Even squared numbers: 0, 4, 16, 36, 64
Matrix:
[0, 1, 2]
[0, 1, 2]
[0, 1, 2]
Uppercase names: JUAN, PEDRO, MARIA
Dictionary comprehension: 0: 0, 1: 1, 2: 4, 3: 9, 4: 16
7. Success Message
Content Format: Encouraging message with checkmark and celebration emoji
Example:
✅ Kapag lumabas ang output na nakikita sa itaas, matagumpay mong nai-run ang iyong C# LINQ query examples! 🎉
Formatting Requirements
1. Text Formatting
- Use bold text for all important concepts and terms
- Use backticks for all code elements, function names, variables, and technical terms
- Place all section headers in bold
- Use consistent spacing between sections (one blank line minimum)
2. Code Blocks
- Every code example must be properly indented (4 spaces)
- All code must be runnable and error-free
- Add helpful comments in Tagalog to explain complex parts
- Follow Microsoft C# coding conventions for all code examples
- Follow C# naming conventions (PascalCase for methods and properties, camelCase for local variables)
3. Visual Elements
- Use tables for comparing related concepts (e.g., different data types)
- Use ordered lists for sequential steps or processes
- Use unordered lists for non-sequential items or options
- Use checkmarks (✔) to highlight positive points or key features
4. Language Guidelines
- Write primary content in Tagalog for better local understanding
- Keep all technical terms in English and format them with backticks
- Use a friendly, encouraging tone throughout the tutorial
- Address the reader directly with second-person perspective (e.g., "mong", "mo")
- Explain complex concepts with simple, clear language
Code Example Guidelines
Example of Well-Formatted C# Code:
using System;
namespace ShapeCalculatorApp
{
/// <summary>
/// Class for calculating properties of different shapes
/// </summary>
public class ShapeCalculator
{
private readonly string _name;
private int _calculationsCount;
/// <summary>
/// Initialize the calculator with a name
/// </summary>
/// <param name="name">The name of this calculator instance</param>
public ShapeCalculator(string name = "DefaultCalculator")
{
_name = name;
_calculationsCount = 0;
}
/// <summary>
/// Calculate the area of a rectangle
/// </summary>
/// <param name="length">The length of the rectangle</param>
/// <param name="width">The width of the rectangle</param>
/// <returns>The area of the rectangle</returns>
public double CalculateRectangleArea(double length, double width)
{
// Increment the counter for each calculation
_calculationsCount++;
// Return the calculated area
return length * width;
}
/// <summary>
/// Calculate the area of a circle
/// </summary>
/// <param name="radius">The radius of the circle</param>
/// <returns>The area of the circle</returns>
public double CalculateCircleArea(double radius)
{
_calculationsCount++;
return Math.PI * Math.Pow(radius, 2);
}
/// <summary>
/// Get the total number of calculations performed
/// </summary>
/// <returns>Total calculations</returns>
public int GetCalculationsCount()
{
return _calculationsCount;
}
}
class Program
{
static void Main(string[] args)
{
// Create a calculator instance
ShapeCalculator calculator = new ShapeCalculator("MyCalculator");
// Calculate some areas
double rectangleArea = calculator.CalculateRectangleArea(5.0, 4.0);
double circleArea = calculator.CalculateCircleArea(3.0);
// Print the results
Console.WriteLine($"Rectangle Area: {rectangleArea}");
Console.WriteLine($"Circle Area: {circleArea:F2}");
Console.WriteLine($"Total calculations: {calculator.GetCalculationsCount()}");
}
}
}
Important C# Code Formatting Rules:
- Include appropriate `using` directives at the top
- Add XML doc comments for classes, methods, and properties
- Use type annotations for method parameters and return values
- Include meaningful white space for readability
- Add descriptive Tagalog comments for key operations
- Use proper line breaks and indentation
- Break long lines for better readability (120 characters maximum per Microsoft guidelines)
- Maintain consistent naming conventions throughout code samples
- Include a `Main` method in a `Program` class for runnable examples
C#-Specific Guidelines
1. Project Structure
- Always include appropriate `using` directives at the top of your C# files
- Organize code in appropriate namespaces
- Structure classes logically with proper access modifiers
- Use XML documentation comments for public members
2. .NET Versions
- Specify the .NET version your code is written for (e.g., .NET 6.0+, .NET 8.0+)
- When using newer C# features, mention the minimum required version
- Avoid deprecated features and methods in your examples
- Use modern C# patterns (records, init-only properties, etc.)
3. Common C# Library Examples
- If demonstrating frameworks (ASP.NET Core, etc.), provide basic configuration files
- For web framework examples, include necessary controllers and routing
- For database examples, use SQLite with Entity Framework Core by default
- For GUI examples, use Windows Forms or WPF for simplicity
How to Submit Your Tutorial
- Prepare your content following all format guidelines above
- Test all code examples to ensure they run correctly
- Format in HTML using the same structure as our existing tutorials
- Submit via email to doji.adds@gmail.com with subject line "C# Tutorial Submission: [Your Topic]"
- Or Submit via posting your version on our Facebook group: https://www.facebook.com/groups/cspinas
All submissions will be reviewed for technical accuracy, quality of explanation, and adherence to these formatting guidelines before publication. We may request revisions to ensure consistency with our platform standards.
By submitting content, you agree to allow dojicreates to publish and modify your work as needed while maintaining attribution to you as the original author.