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.

credits-image

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

  1. Create a PDF of your C# tutorial following our guidelines
  2. Join our Facebook group
  3. Upload/Post your PDF with topic name and brief description on our FB Group
  4. 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: dojicreates

Thank 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:

  1. Data source - ito ang collection na pinagkukunan ng data, tulad ng `List` o `Array`.
  2. Query expression - ito ang logic na ginagamit para i-filter o i-transform ang data.
  3. 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

  1. Prepare your content following all format guidelines above
  2. Test all code examples to ensure they run correctly
  3. Format in HTML using the same structure as our existing tutorials
  4. Submit via email to doji.adds@gmail.com with subject line "C# Tutorial Submission: [Your Topic]"
  5. 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.

Ads