Есть несколько способов преобразовать char
в integer
char digit = '0';
int result = (int)char.GetNumericValue(digit);
int result = ((int)digit) - 48;
int result = digit - '0'; //fastest approach
int result = int.Parse(digit.ToString());
int result = Convert.ToInt32(digit.ToString());
int result = digit & 0x0f;
, поэтому, если вы хотите наиболее производительный подход, используйте
string input = "123";
int[] result = input.Select(x => x - '0').ToArray();
Хорошо, таким образом, оказывается что реализация по умолчанию $.getScript()
функционируйте работает по-другому в зависимости от того, является ли файл сценария, на который ссылаются, на том же домене или нет. Внешние ссылки, такие как:
$.getScript("http://www.someothersite.com/script.js")
заставит jQuery создавать внешнюю ссылку сценария, которая может быть отлажена без проблем.
<script type="text/javascript" src="http://www.someothersite.com/script.js"></script>
Однако, если Вы ссылаетесь на локальный файл сценария, такой как какое-либо следующее:
$.getScript("http://www.mysite.com/script.js")
$.getScript("script.js")
$.getScript("/Scripts/script.js");
затем jQuery загрузит содержание сценария асинхронно и затем добавит его как встроенное содержание:
<script type="text/javascript">{your script here}</script>
Этот последний подход не работает ни с каким отладчиком, который я протестировал (Визуальный Studio.net, Firebug, Отладчик IE8).
Обходное решение должно переопределить $.getScript()
функционируйте так, чтобы это всегда создало внешнюю ссылку, а не встроенное содержание. Вот сценарий, чтобы сделать это. Я протестировал это в Firefox, Opera, Safari и IE 8.
<script type="text/javascript">
// Replace the normal jQuery getScript function with one that supports
// debugging and which references the script files as external resources
// rather than inline.
jQuery.extend({
getScript: function(url, callback) {
var head = document.getElementsByTagName("head")[0];
var script = document.createElement("script");
script.src = url;
// Handle Script loading
{
var done = false;
// Attach handlers for all browsers
script.onload = script.onreadystatechange = function(){
if ( !done && (!this.readyState ||
this.readyState == "loaded" || this.readyState == "complete") ) {
done = true;
if (callback)
callback();
// Handle memory leak in IE
script.onload = script.onreadystatechange = null;
}
};
}
head.appendChild(script);
// We handle everything using the script element injection
return undefined;
},
});
</script>