trucos c#
TRANSCRIPT
-
7/25/2019 Trucos C#
1/15
Cmo puedo impedir que el usuario introduzca letras y signos de puntuacin o caracteres
especiales en un cuadro de texto? tengo una aplicacin que estoy desarrollando en Visual C# .Net
y quiero poner un cuadro de texto (TextBox para que el usuario de la aplicacin de !acturacin slo
introduzca n"meros y no permitirle introducr letras cmo puedo acer esto?
$uedes a%adir el siguiente cdigo al e&ento 'ey$ress del TextBox
pri&ate &oid txtCodigo)a*ricante+'ey$ress(o*,ect sender-'ey$ress&ent/rgs e
0
11$ara o*ligar a que slo se introduzcan n"meros
i! (Car.2s3igit(e.'eyCar
0
e.4andled 5 !alse6
7
else
i! (Car.2sControl(e.'eyCar 11permitir teclas de control como retroceso
0
e.4andled 5 !alse6
7else
0
11el resto de teclas pulsadas se desacti&an
e.4andled 5 true6
7
7
8i quieres- por e,emplo- permitir tam*i9n el espacio
i! (Car.2s3igit(e.'eyCar
0
e.4andled 5 !alse67
else
i! (Car.2sControl(e.'eyCar
0
e.4andled 5 !alse6
7
else
i! (Car.2s8eparator(e.'eyCar
0
e.4andled 5 !alse6
7
else0
e.4andled 5 true6
7
Truco: Pasar entre TextBox con la tecla ENTER VB y CSharp Windows Fors
-
7/25/2019 Trucos C#
2/15
/lgo mas sencillo que los otros trucos que e estado pu*licando.. este por lo menos podremos
simular el T/B:;/3indos cosa que mucas &eces no
encontra*amos la !orma de pasar a la siguiente ca,a de texto o siguiente control con la tecla
NT=.
Como en los anteriores este de*e ser codi!icado en el &ento 'ey$ress del TextBox
@pri&ate&oid Txt$rue*aNT=+'ey$ress(o*,ectsender- 'ey$ress&ent/rgs e
A0
i!(e.'eyCar 55 (car('eys.nter
0
D e.4andled 5 true6
E 8end'eys.8end(F0T/B7F6
G 7
H7
Buscando cadenas dentro de cadenas en C!
$ues ace tiempo que no escri*o nada en el *log- so*re todo porque e estado muy ocupado en
otras cosas y por razones de la &ida ya no programo muco con C#- pero quiero compartir con
ustedes algunos trucos a la ora de *uscar y comparar strings con C#.
Cuando digo cadenas- por supuesto que me re!iero a cadenas de caracteres- esto de traducir la
programacin al espa%ol es un dolor de ca*eza- por e,emplo- como traducimos array? &ector o
arreglo? pero *ueno- ese es otro tema- &ayamos a lo que importa
Veamos los "todos de la clase Strin# en C!para la *"squeda de cadenas
@. 2ndex
instancia
A. ;ast2ndex
-
7/25/2019 Trucos C#
3/15
intlast 5str.;ast2ndex
//Tomemos ahora el texto que hay entre la primera y la ltima ocurrencia de "silly"stringstrA 5str.8u*string(!irst- last K!irst6Console.>rite;ine(F*eteen to LsillyL ords L0M7LF- strA6
Nota 4ace un tiempo escri*I un post so*re algunos e,ercicios resueltos con string- y ay uno con8u*string(
-% &sando StartsWith*+ y EndsWith*+:
*ooltest@ 5str.8tarts>it(Fa sillyF6//retorna falso, en 3 vers por queConsole.>rite;ine(Fstarts it La sillyL? 0M7F- test@6*ooltestA 5str.nds>it(F.F6Console.>rite;ine(Fends it L.L? 0M7F- testA6
.% /ue pasa si no nos iportan ay0sculas y in0sculas1
Cuando estamos *uscando un texto- C# por de!ecto es Case 8ensiti&e (sensi*le a las may"sculas
y min"sculas- es por eso que en el e,emplo A- str.tarts!ith#a sil ly$%retorna !alse. Como podemosacer que ignore si el texto que *uscamos estJ en may"sculas o no? $asando como segundo
parJmetro alg"n &alor del enumtrin&'omparison,modi!iquemos un poco el e,emplo A
*ooltestA 5str.8tarts>it(Fa sillyF- 8ystem.8tringComparison.rite;ine(Fstarts it La sillyL? 0M7 (ignoring caseF- testA6//ahora si retorna true
Nota 8tringComparison tam*ien se lo podemos pasar a los otros m9todos mencionados.
2% 3a#aos un Contains 4ue sea Case Sensiti5e
6% &n tru4uito:
strings 5Florem ipsum dolorF6*oolis2psum 5s.Contains(FipsumF6
es lo mismo que
*oolis2psum 5Florem ipsum dolorF.Contains(FipsumF6//el operador ne( est impl)cito
Como siempre- cualquier pregunta que tengas- en los comentarios
http://www.puntopeek.com/codigos-c/ejercicios-resueltos-string-en-c-sharphttp://msdn.microsoft.com/en-us/library/system.stringcomparison.aspxhttp://msdn.microsoft.com/en-us/library/system.stringcomparison.aspxhttp://www.puntopeek.com/codigos-c/metodos-extensores-en-c-sharp-net/http://www.puntopeek.com/codigos-c/ejercicios-resueltos-string-en-c-sharphttp://msdn.microsoft.com/en-us/library/system.stringcomparison.aspxhttp://www.puntopeek.com/codigos-c/metodos-extensores-en-c-sharp-net/ -
7/25/2019 Trucos C#
4/15
E7ercicios resueltos de strin# en C!
/quI les pongo unos cuantos e,ercicios resueltos y cdigos escritos en C# relacionados con elmane,o de strings (cadenas que seguro te ayudarJ de mucas !ormas a me,orar el uso de estepopular tipo de dato. $ero primero &eamos cuales son los m9todos y propiedades de esta clase8tring. 8"todos y propiedades )undaentalespu*lic char this+int index -&et 3e&uel&e elcaracter de la posicin especi!icada de la cadena.pu*lic int 0en&th -&et3e&uel&e la longitud de lacadena (cantidad de caracteres que contiene empezando a contar desde @.pu*lic strin& 1nsertintstart1ndex, strin& value% 2nserta la cadena especi!icada a partir de la posicin dada.pu*lic strin&2emoveint start1ndex,int count%limina el n"mero especi!icado de caracteres a partir de laposicin dada.pu*lic strin&+ plitparams char+ separator%Busca las su*cadenas contenidasdentro de la cadena- delimitJndolas por los separadores que se le especi!iquen- y las copia a unarreglo de cadenas.pu*lic strin& u*strin&int start1ndex%3e&uel&e la su*cadena contenida apartir de la posicin especi!icada.pu*lic strin& u*strin&int index, int len&th%3e&uel&e lasu*cadena que empieza a partir del Indice especI!ico- y tiene la longitud indicada. E7erciciosresueltos@K 2mplemente un m9todo que dado un string s cualquiera- de&uel&a un nue&o string quese el in&erso de s. (e, entrada PpuntopeeQR6 salida PQeepotnupRpu*licstring2n&ierte(stringa0
string* 5FF6 !or(inti 5M6i Slt6a.;engt6i * 5aUi*6 return*67
AK 2mplemente una !uncin que dado un string- una posicin de comienzo y una cantidad decaracteres- de&uel&a una su*cadena (su*string de una cadena dada a partir de los parJmetrosdados (e, entrada PpuntopeeQR- pos5 A- cant5 6 salida PntopR.
pu*licstring8u*8tring(stringa- intpos- intcant0 stringpedazo 5FF6
i!((pos cantSgt6a.;engt tronexception(FF6 else 0 !or(int, 5pos6, Slt6cant pos 6, pedazo 5aU,6 returnpedazo6 77
K 2mplemente un m9todo =eplace- que reci*a un string s- y dos caracteres old y ne. 3ica!uncin de*e reemplazar todas las ocurrencias del caracter old por el carJcter ne- y de&ol&er unnue&o string con dica caracterIstica. (e, entrada PprogramacionR- old5 WaX- ne5XiX6 salidaPprogrimicionR
pu*licstring=eplace (stringa- carold- carne0 stringresult 5FF6 !or(inti 5M6i Slt6a.;engt6i 0 i!(aUi55old result 5ne6 else result 5aUi6
http://www.puntopeek.com/codigos-c/ejercicios-resueltos-string-en-c-sharp/http://www.puntopeek.com/category/programacion/http://www.puntopeek.com/codigos-c/ejercicios-resueltos-string-en-c-sharp/http://www.puntopeek.com/category/programacion/ -
7/25/2019 Trucos C#
5/15
7 returnresult67
YK 2mplemente un m9todo Com*inar- que dado un string s- de&uel&a todas las com*inacionesposi*les que se pueden !ormar a partir de los caracteres de s. ste m9todo es un poco mJscomplicado- pero muy "til y prJctico. $ara esto usaremos recursi&idad- para ir generando todas las
posi*les com*inaciones. (e, entrada PoyR6 salida PoyR- PyoR- PoyR- PoyR- PyoR- PyoR
pu*lic&oidCom*ina(strings0 *oolUmarcas 5ne*oolUs.;engt6 Com*ina(s- FF- marcas67&oidCom*ina(stringoriginal- stringcom*inado- *oolUmarcas0 i!(original.;engt55com*inado.;engt Console.>rite;ine(com*inado6 !or(inti 5M6i Slt6marcas.;engt6i 0
i!(OmarcasUi 0 marcasUi5true6 Com*ina(original- com*inado originalUi- marcas6 marcasUi5!alse6 7 77
8i tienes alguna duda so*re los cdigos anteriores- o quieres agregar algo- en los comentarios.Bueno- asta aquI esta entrega de e,ercicios resueltos. spero que te sir&a- y si quieres practicar-guIate por estos e,emplos y trata de implementar otros m9todos relacionados con string- como son@K liminar un carJcter dado de una cadena.
pu*licstringliminar(strings- carc.
AK Ver si un string es palIndromo no- o sea- se escri*e igual al dereco que al re&9s.
pu*lic *ools$alindromo(strings
K Ver cuJl es el letra que mJs se repite en una cadena.
pu*liccaras$opular(strings
s muy aconse,a*le que traten de acer estos e,ercicios solos- auxiliJndose de los e,emplosanteriores. 3e todos modos pondr9 la respuesta de estos e,ercicios en una prxima entrega la
semana que &iene.
=ecortar y quitar caracteres de cadenas en .NT )rameorQ
8i &a a analizar una !rase en las pala*ras que la !orman- el resultado pueden ser pala*ras con
espacios en *lanco delante y detrJs. n este caso- puede usar uno de los m9todos de recorte de la
clase Syste%Strin#para quitar espacios u otros caracteres de una posicin especi!icada de la
cadena. n la ta*la siguiente se descri*en los m9todos de recorte disponi*les.
-
7/25/2019 Trucos C#
6/15
No9re del
"todo&tilice
8tring.Trim Zuita del comienzo y del !inal de una cadena los espacios en *lanco o los caracteres
caracteres.
8tring.Trimnd Zuita los caracteres especi!icados de una matriz de caracteres del !inal de una caden
8tring.Trim8tart Zuita los caracteres especi!icados de una matriz de caracteres del comienzo de una c
8tring.=emo&e Zuita un n"mero especi!icado de caracteres de una posicin de Indice especi!icada d
9todos que de&uel&en cadenas
n la ta*la siguiente se enumeran algunos m9todos "tiles que de&uel&en nue&os o*,etos de
cadena.
No9re del "todo &tilice
8tring.)ormat Compila una cadena con !ormato a partir de un con,unto de o*,etos de entrada.
8tring.Concat Compila cadenas a partir de dos o mJs cadenas.
8tring.[oin Compila una nue&a cadena com*inando una matriz de cadenas.
https://msdn.microsoft.com/es-es/library/system.string.trim(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.trimend(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.trimstart(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.remove(v=vs.110).aspxhttp://void%280%29/https://msdn.microsoft.com/es-es/library/system.string.format(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.concat(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.join(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.trim(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.trimend(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.trimstart(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.remove(v=vs.110).aspxhttp://void%280%29/https://msdn.microsoft.com/es-es/library/system.string.format(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.concat(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.join(v=vs.110).aspx -
7/25/2019 Trucos C#
7/15
8tring.2nsert Compila una nue&a cadena mediante la insercin de una cadena en el Indice especi
8tring.CopyTo Copia los caracteres especi!icados de una cadena en la posicin especi!icada de un
Forato
l m9todo Strin#%Foratse puede usar para crear cadenas con !ormato y concatenar cadenas
que representan &arios o*,etos. ste m9todo con&ierte automJticamente en cadena cualquier
o*,eto que se pase. $or e,emplo- si la aplicacin de*e mostrar al usuario un &alor 'nt.-y un
&alor ateTie- es muy sencillo construir una cadena que represente estos &alores con el
m9todo Forat. $ara o*tener mJs in!ormacin so*re las con&enciones de !ormato utilizadas con
este m9todo- &ea la seccin )ormato compuesto.
Cadenas de relleno en .NT )rameorQ
:tilice uno de los siguientes m9todos 8tringpara crear una nue&a cadena !ormada por una cadena
original que se rellena con caracteres iniciales o !inales asta alcanzar una longitud total
especi!icada. l carJcter de relleno puede ser un espacio o un carJcter especi!icado y- por lo tanto-
la cadena parece estar alineada a la dereca o a la izquierda.
No9re del "todo &tilice
8tring.$ad;e!t =ellena una cadena con caracteres iniciales asta alcanzar la longitud total es
8tring.$ad=igt =ellena una cadena con caracteres !inales asta alcanzar la longitud total esp
Comparar cadenas en .NT )rameorQ
.NT )rameorQ proporciona &arios m9todos para comparar los &alores de cadenas. n la ta*la
siguiente se enumeran y descri*en los m9todos de comparacin de &alores.
No9re del "todo &tilice
8tring.Compare Compara los &alores de dos cadenas. 3e&uel&e un &alor entero.
https://msdn.microsoft.com/es-es/library/system.string.insert(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.copyto(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/txafckwd(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.padleft(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.padright(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.compare(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.insert(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.copyto(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/txafckwd(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.padleft(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.padright(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.compare(v=vs.110).aspx -
7/25/2019 Trucos C#
8/15
8tring.Compareit 3etermina si una cadena comienza con la cadena que se pasa. 3e&uel&e un &alor
8tring.nds>it 3etermina si una cadena termina con la cadena que se pasa. 3e&uel&e un &alor *o
8tring.quals 3etermina si dos cadenas son iguales. 3e&uel&e un &alor *ooleano.
8tring.2ndex
examina. 3e&uel&e un &alor entero.
8tring.;ast2ndex
&alor entero.
Coparar
l m9todo Strin#%Copareproporciona una manera de comparar exausti&amente el o*,eto de
cadena actual con otra cadena u o*,eto. n este m9todo se tiene en cuenta la re!erencia
cultural. sta !uncin se puede usar para comparar dos cadenas o su*cadenas de dos
cadenas. /demJs- se proporcionan so*recargas para tener en cuenta o no las di!erencias de
re!erencia cultural y de may"sculas y min"sculas. n la ta*la siguiente se muestran los tres &alores
enteros que este m9todo puede de&ol&er.
Tipo de 5alor Condition
https://msdn.microsoft.com/es-es/library/system.string.compareordinal(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.compareordinal(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.compareto(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.startswith(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.endswith(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.equals(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.indexof(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.lastindexof(v=vs.110).aspxhttp://void%280%29/https://msdn.microsoft.com/es-es/library/system.string.compareordinal(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.compareordinal(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.compareto(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.startswith(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.endswith(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.equals(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.indexof(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.lastindexof(v=vs.110).aspxhttp://void%280%29/ -
7/25/2019 Trucos C#
9/15
:n entero negati&o stres menor que str4.
M stres igual que str4.
:n entero positi&o.
< *ien
@
sta instancia es mayor que value.
< *ien
valuees una re!erencia nula (Nothin#en Visua
'portante
;a !inalidad principal del m9todo Comparees que se utilice para la ordenacin o clasi!icacin de cadenas. l
para compro*ar la igualdad (es decir- para *uscar explIcitamente un &alor de&uelto que sea M sin tener en cu
mayor que otra. n su lugar- para determinar si dos cadenas son iguales- use el m9todo 8tring.quals(8tring
Cam*iar may"sculas y min"sculas en .NT )rameorQ
8i se escri*e una aplicacin que acepta la entrada de in!ormacin por parte del usuario- nunca se
puede estar seguro de si se utilizarJn may"sculas o min"sculas para introducir los datos. $uesto
que los m9todos que comparan cadenas y caracteres distinguen may"sculas y min"sculas- las
may"sculas y min"sculas de las cadenas que escri*en los usuarios se de*en con&ertir para
compararlas con los &alores constantes. Cam*iar las may"sculas y min"sculas de una cadena es
muy sencillo. n la ta*la siguiente se descri*en los dos m9todos existentes para cam*iar
may"sculas y min"sculas. Cada m9todo proporciona una so*recarga que acepta una re!erencia
cultural.
No9re del "todo &tilice
8tring.To:pper Con&ierte todos los caracteres de una cadena en may"sculas.
https://msdn.microsoft.com/es-es/library/system.string.compare(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/t4411bks(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.toupper(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.compare(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/t4411bks(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.toupper(v=vs.110).aspx -
7/25/2019 Trucos C#
10/15
8tring.To;oer Con&ierte todos los caracteres de una cadena en min"sculas.
:tilizar la clase 8tringBuilder en .NT )rameorQ
l o*,eto 8tringes inmuta*le. Cada &ez que se usa uno de los m9todos de la clase 8ystem.8tring-
se crea un nue&o o*,eto de cadena en la memoria- que necesita una nue&a asignacin de espacio
para ese o*,eto nue&o. n las situaciones en que sea necesario realizar modi!icaciones repetidas
en una cadena- la so*recarga asociada a la creacin de un nue&o o*,eto 8tringpuede disminuir el
rendimiento. ;a clase 8ystem.Text.8tringBuilderse puede utilizar para modi!icar una cadena sin
crear un nue&o o*,eto. $or e,emplo- el uso de la clase 8tringBuilderpuede me,orar el rendimiento al
concatenar mucas cadenas en un *ucle.
Crear instancias de un o97eto Strin#Builder
8e puede crear una nue&a instancia de la clase8tringBuilderinicializando la &aria*le con uno de
los m9todos de constructor so*recargados- como se muestra en el e,emplo siguiente.
C#
8tringBuilder y8tringBuilder 5 ne8tringBuilder(F4ello >orldOF6
Con)i#urar la capacidad y la lon#itud
/unque 8tringBuilderes un o*,eto dinJmico que permite expandir el n"mero de caracteres de la
cadena que encapsula- se puede especi!icar un &alor para el n"mero mJximo de caracteres quepuede contener. ste &alor se conoce como la capacidad del o*,eto y no se de*e con!undir con la
longitud de la cadena que contiene el o*,eto8tringBuilderactual. $or e,emplo- podrIa crear una
nue&a instancia de la clase 8tringBuildercon la cadena F4olaF que tiene una longitud de D- y podrIa
especi!icar que el o*,eto tiene una capacidad mJxima de AD. /l modi!icar 8tringBuilder- no reasigna
el tama%o para sI mismo asta que se alcance la capacidad. Cuando sucede esto- el nue&o
espacio se asigna automJticamente y se do*la la capacidad. ;a capacidad de la
clase 8tringBuilderse puede especi!icar con uno de los constructores so*recargados. n el
e,emplo siguiente se especi!ica que el o*,etoy8tringBuilderse puede expandir asta un mJximo
de AD espacios.
C#
8tringBuilder y8tringBuilder 5 ne8tringBuilder(F4ello >orldOF- AD6
/demJs- se puede utilizar la propiedad de lectura y escritura Capacitypara esta*lecer la longitud
mJxima del o*,eto. n el e,emplo siguiente se utiliza la propiedad Capacitypara de!inir la longitud
mJxima del o*,eto.
https://msdn.microsoft.com/es-es/library/system.string.tolower(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttp://void%280%29/https://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttp://void%280%29/https://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder.capacity(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder.capacity(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string.tolower(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.string(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttp://void%280%29/https://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttp://void%280%29/https://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder.capacity(v=vs.110).aspx -
7/25/2019 Trucos C#
11/15
C#
y8tringBuilder.Capacity 5 AD6
l m9todo nsureCapacityse puede utilizar para compro*ar la capacidad actual
de Strin#Builder. 8i la capacidad es mayor que el &alor que se pasa- no se ace ning"n cam*io6
sin em*argo- si es menor que el &alor que se pasa- la capacidad actual se cam*ia para que
coincida con dico &alor.
Tam*i9n se puede &er y esta*lecer la propiedad ;engt.8i se esta*lece la propiedad ,en#then un
&alor mayor que el de la propiedad Capacity- la propiedad Capacityse cam*ia automJticamente al
mismo &alor de la propiedad ,en#th. 8i se esta*lece la propiedad ,en#tha un &alor menor que la
longitud de la cadena actual de Strin#Builder- se acorta la cadena.
8odi)icar la cadena Strin#Builder
n la ta*la siguiente se enumeran los m9todos que se pueden utilizar para modi!icar el contenido
de Strin#Builder.
No9re del "todo &tilice
8tringBuilder./ppend /grega in!ormacin al !inal de la Strin#Builderactual.
8tringBuilder./ppend)ormat =eemplaza un especi!icador de !ormato que se pasa en una cadena con
8tringBuilder.2nsert 2nserta una cadena u o*,eto en el Indice especi!icado de la Strin#Build
8tringBuilder.=emo&e Zuita el n"mero de caracteres especi!icado de la Strin#Builderactual.
8tringBuilder.=eplace =eemplaza un carJcter especi!icado en el Indice especi!icado.
https://msdn.microsoft.com/es-es/library/system.text.stringbuilder.ensurecapacity(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder.ensurecapacity(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder.length(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder.length(v=vs.110).aspxhttp://void%280%29/https://msdn.microsoft.com/es-es/library/system.text.stringbuilder.append(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder.appendformat(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder.insert(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder.remove(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder.replace(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder.ensurecapacity(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder.length(v=vs.110).aspxhttp://void%280%29/https://msdn.microsoft.com/es-es/library/system.text.stringbuilder.append(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder.appendformat(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder.insert(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder.remove(v=vs.110).aspxhttps://msdn.microsoft.com/es-es/library/system.text.stringbuilder.replace(v=vs.110).aspx -
7/25/2019 Trucos C#
12/15
%Net Crear una ll en C! *paso a paso+
Posted by:lvgstark
Pues eso, que hoy vamos a ver como se crea una Dll desde cero y como la utilizamos en un proyecto.
/ue es un ,,1
Un DLL o Dynamic Link Library (Biblioteca de Vinculo Dinamica en espaol) es un archivo que contiene
funciones o clases u otros recursos que pueden ser utilizados por una aplilcacion externa al DLL. Como lo dice
su nombre, una aplicacion lo que hace es hacer un vinculo a la biblioteca y de esta forma puede hacer uso de
funciones, procedimientos o metodos que se encuentren en esta biblioteca. Para darles un ejemplo, yo puedo
tener un DLL con funciones matematicas, y en vez de escribirlas otra vez en el codigo de mi aplicacion,
simplemente hago un vinculo al DLL que contiene las funciones matematicas y asi las puedo utilizar desde mi
aplicacion. La ventaja de esto es que se recicla codigo, y el codigo es mas ordenado tambien, sin embargo asi
tambien tiene desventajas.
Pasos para crear y usar la Dll
Paso 1: Creacin de la Dll
El primer paso que realizaremos ser crear un nuevo proyecto del tipo Class Library, que en este caso he
bautizado como KLSTools.
En l, crearemos una clase que contenga una operacin que sume diferentes valores que pasaremos como
referencias.
Creacin de la Dll
Contenido de la Dll
Clic para ver Texto Plano
http://lluisvera.com/author/lvgstark/http://lluisvera.com/2011/06/net-crear-una-dll-en-c-paso-a-paso/http://lluisvera.com/author/lvgstark/http://lluisvera.com/2011/06/net-crear-una-dll-en-c-paso-a-paso/ -
7/25/2019 Trucos C#
13/15
C#:
1. usingSystem;
2. usingSystem.Collections.Generic;
3. usingSystem.Linq;
4. usingSystem.Text;5.
6. namespaceLSTools
!. "
#. pu$licclass%peraciones
&. "
1'. pu$licintSumar(int)* int+,
11. "
12. int-alor ) / +;
13. return-alor;
14. 0
15. 0
16. 0
Definicin y estructura de la Dll
Paso 2: Creacin de nuestro proyecto independiente
Lo siguiente ser crear un proyecto independiente, pero en el que necesitaremos utilizar la Dll que hemos
creado. En este caso hemos creado un proyecto bsico del tipo Windows Forms, y que consistir en un botn
que al pulsarlo, nos mostrar un mensaje con la operacin que le pasemos.
Paso 3: Referenciar nuestra Dll
Para poder utilizar nuestra Dll, er preciso referenciarla, por lo que iremos a Referencias y aadiremos una
nueva Referencia (que no ser System, ni Com), si no que iremos a buscarla mediante el browser.
-
7/25/2019 Trucos C#
14/15
Paso 4: Referenciar la Dll en el proyecto e instanciar la clase que utilizaremos.
Una vez aadida la referencia, lo siguiente ser llamar al espacio de nombres de la Dll, mediante el comando
using y posteriormente, instanciar la clase que utiliaremos mediante el constructor.
Y ya estar operativa nuestra aplicacin referenciando
una Dll que hemos creado.
Referenciacin de la Dll e instancia de la clase
Clic para ver Texto Plano
C#:
1. usingSystem;
2. usingSystem.Collections.Generic;3. usingSystem.Componentoel;
4. usingSystem.Linq;
5. usingSystem.Text;
6. usingSystem.inos.orms;
!. //Referencio a mi DLL
#. usingLSTools;
&.
http://lluisvera.com/2011/06/net-crear-una-dll-en-c-paso-a-paso/http://lluisvera.com/2011/06/net-crear-una-dll-en-c-paso-a-paso/ -
7/25/2019 Trucos C#
15/15
1'. namespaceinosorms)pplication1
11. "
12. pu$licpartial classorm1 orm
13. "
14. pu$licorm1(,
15. "
16. 7nitiali8eComponent(,;
1!. 0
1#.
1&. pri-ate-oi$utton19Clic:(o$ectsener*