Convert a string to int without using int.Parse()
๐ก Concept: Manual String to Integer Conversion
Converting strings to integers by manually processing characters and calculating the numeric value.
๐ Quick Intro
Useful for understanding parsing logic without relying on built-in parsing methods.
๐ง Analogy
Like reading digits one by one from a written number and assembling the integer yourself.
๐ง Technical Explanation
- Iterate over each character in the string.
- Convert each character digit to its numeric value.
- Multiply the current result by 10 and add the new digit.
- Handle optional sign (+/-) at the start.
- Validate input to avoid errors.
๐ฏ Use Cases
- โ Learning parsing fundamentals.
- โ Coding interview challenges.
- โ Situations with restricted library usage.
- โ Custom validation or conversion logic.
๐ป Code Example
// Manual string to int conversion without int.Parse()
public static int? StringToInt(string str) {
if (string.IsNullOrEmpty(str)) return null;
int result = 0;
int sign = 1;
int startIndex = 0;
if (str[0] == '-') {
sign = -1;
startIndex = 1;
} else if (str[0] == '+') {
startIndex = 1;
}
for (int i = startIndex; i < str.Length; i++) {
if (str[i] < '0' || str[i] > '9') {
return null; // Invalid input
}
result = result * 10 + (str[i] - '0');
}
return sign * result;
}

โ Interview Q&A
Q1: Why convert string to int manually?
A: To understand parsing and avoid built-in methods.
Q2: How is invalid input handled?
A: Returns null.
Q3: Can this handle negative numbers?
A: Yes, by detecting '-' sign.
Q4: What is the time complexity?
A: O(n), n = string length.
Q5: What about empty strings?
A: Returns null.
Q6: Is overflow handled?
A: Not in this basic example.
Q7: What data type is returned?
A: Nullable int.
Q8: Can this be optimized?
A: Yes, with additional checks.
Q9: What if the string has spaces?
A: This example does not handle spaces.
Q10: What are practical uses?
A: Learning, restricted environments, custom parsing.
๐ MCQs
Q1. What is the purpose of manual string to int conversion?
- Speed
- Understand parsing
- Memory
- Ease
Q2. How is invalid input handled?
- Throws exception
- Returns null
- Ignores
- Parses anyway
Q3. Can negative numbers be converted?
- No
- Yes
- Maybe
- Sometimes
Q4. What is the time complexity?
- O(1)
- O(n)
- O(n^2)
- O(log n)
Q5. What is returned on empty string?
- 0
- Null
- -1
- Exception
Q6. Is overflow handled?
- Yes
- No
- Sometimes
- Rarely
Q7. What data type is returned?
- int
- Nullable int
- string
- bool
Q8. Can this handle spaces?
- Yes
- No
- Sometimes
- Always
Q9. What happens if invalid chars exist?
- Throws error
- Returns null
- Ignores
- Parses partial
Q10. What is a practical use?
- Games
- Custom parsing
- UI
- Networking
๐ก Bonus Insight
Manual string to int conversion teaches fundamentals of parsing and data validation.
๐ PDF Download
Need a handy summary for your notes? Download this topic as a PDF!