mirror of https://github.com/quasar/Quasar.git
Detecting illegal characters efficiently
Instead of wasting lots of time creating a string from a char array, creating a string from another char array, concatenating them both into a new string, and casting the keychar to a string to see if the string contains it, make the operation natural and very efficient by creating a new char array that has both invalid characters and making sure the illegal character array does not contain the element.
This commit is contained in:
parent
f5d671d93a
commit
94e50641cb
|
@ -1,5 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using xServer.Core.Build;
|
using xServer.Core.Build;
|
||||||
|
@ -20,8 +21,7 @@ public FrmBuilder()
|
||||||
|
|
||||||
private void HasChanged()
|
private void HasChanged()
|
||||||
{
|
{
|
||||||
if (_loadedProfile && !_changed)
|
_changed = (_loadedProfile && !_changed);
|
||||||
_changed = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateControlStates()
|
private void UpdateControlStates()
|
||||||
|
@ -137,22 +137,21 @@ private void txtPort_KeyPress(object sender, KeyPressEventArgs e)
|
||||||
|
|
||||||
private void txtDelay_KeyPress(object sender, KeyPressEventArgs e)
|
private void txtDelay_KeyPress(object sender, KeyPressEventArgs e)
|
||||||
{
|
{
|
||||||
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
|
e.Handled = (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar));
|
||||||
e.Handled = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void txtInstallname_KeyPress(object sender, KeyPressEventArgs e)
|
private void txtInstallname_KeyPress(object sender, KeyPressEventArgs e)
|
||||||
{
|
{
|
||||||
string illegal = new string(Path.GetInvalidPathChars()) + new string(Path.GetInvalidFileNameChars());
|
char[] illegal = Path.GetInvalidPathChars().Union(Path.GetInvalidFileNameChars()).ToArray();
|
||||||
if ((e.KeyChar == '\\' || illegal.Contains(e.KeyChar.ToString())) && !char.IsControl(e.KeyChar))
|
|
||||||
e.Handled = true;
|
e.Handled = ((e.KeyChar == '\\' || illegal.Any(illegalChar => (illegalChar == e.KeyChar))) && !char.IsControl(e.KeyChar));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void txtInstallsub_KeyPress(object sender, KeyPressEventArgs e)
|
private void txtInstallsub_KeyPress(object sender, KeyPressEventArgs e)
|
||||||
{
|
{
|
||||||
string illegal = new string(Path.GetInvalidPathChars()) + new string(Path.GetInvalidFileNameChars());
|
char[] illegal = Path.GetInvalidPathChars().Union(Path.GetInvalidFileNameChars()).ToArray();
|
||||||
if ((e.KeyChar == '\\' || illegal.Contains(e.KeyChar.ToString())) && !char.IsControl(e.KeyChar))
|
|
||||||
e.Handled = true;
|
e.Handled = ((e.KeyChar == '\\' || illegal.Any(illegalChar => (illegalChar == e.KeyChar))) && !char.IsControl(e.KeyChar));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void txtInstallname_TextChanged(object sender, EventArgs e)
|
private void txtInstallname_TextChanged(object sender, EventArgs e)
|
||||||
|
|
Loading…
Reference in New Issue